diff --git a/n8n/deployed/coordenador-glpi-v2.n8n.json b/n8n/deployed/coordenador-glpi-v2.n8n.json index 993e35f..2b479ab 100644 --- a/n8n/deployed/coordenador-glpi-v2.n8n.json +++ b/n8n/deployed/coordenador-glpi-v2.n8n.json @@ -788,7 +788,9 @@ "value": "C0BJNBTPFT5" }, "text": "={{ $json.mensagem }}", - "otherOptions": {} + "otherOptions": { + "includeLinkToWorkflow": false + } }, "credentials": { "slackApi": { diff --git a/n8n/workflow.template.json b/n8n/workflow.template.json index 68a0d58..a88a31c 100644 --- a/n8n/workflow.template.json +++ b/n8n/workflow.template.json @@ -788,7 +788,9 @@ "value": "C0BJNBTPFT5" }, "text": "={{ $json.mensagem }}", - "otherOptions": {} + "otherOptions": { + "includeLinkToWorkflow": false + } }, "credentials": { "slackApi": { diff --git a/tools/build-workflow.test.js b/tools/build-workflow.test.js index 3b07dd9..292b92f 100644 --- a/tools/build-workflow.test.js +++ b/tools/build-workflow.test.js @@ -148,6 +148,15 @@ test('node real de envio Slack existe (nao e so simulado/comentado)', () => { assert.equal(slackNode.onError, 'continueErrorOutput', 'precisa separar sucesso/falha pra idempotencia e nao-silenciar-erro'); }); +test('Slack node nao anexa o rodape automatico "Automated with this n8n workflow" (bug real: vazou na primeira mensagem real de teste)', () => { + // O node Slack do n8n inclui esse link por padrao (includeLinkToWorkflow default: true) -- + // vazou pra dentro do canal real no primeiro teste de envio. A missao pede mensagem minima, + // sem nada alem do que buildTopMessage gera. + const wf = buildWorkflow(); + const slackNode = wf.nodes.find((n) => n.type === 'n8n-nodes-base.slack'); + assert.equal(slackNode.parameters.otherOptions.includeLinkToWorkflow, false); +}); + test('guard de envio roda antes do Slack e existe IF de decisao', () => { const wf = buildWorkflow(); const guardConn = wf.connections['Code - Guard de Envio Slack'];