Corrige bug real: insert de log de envio (falha) quebrava por coluna 'erro' inexistente
Encontrado ao vivo durante o teste controlado de envio (secao 14): a Data Table dev_glpi_v2_send_log tem schema fixo (imutavel apos criacao) sem coluna 'erro'. O Code node 'Preparar Log de Envio (Falha)' incluia esse campo, e o autoMapInputData tentava mapear para uma coluna que nao existe -> 'Validation error with data table request: unknown column name erro' (execucao 16724). O erro fica agora so no console.log do node, nao mais no payload enviado a Data Table. Confirmado no mesmo teste: nenhuma mensagem real chegou a ser enviada (Slack node retornou channel_not_found e foi corretamente capturado pelo onError:continueErrorOutput antes deste bug secundario aparecer). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
64ddfb9b7b
commit
f6f12c53d8
@@ -144,7 +144,7 @@
|
|||||||
"id": "SLACK_DESTINATION",
|
"id": "SLACK_DESTINATION",
|
||||||
"name": "SLACK_DESTINATION",
|
"name": "SLACK_DESTINATION",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"value": ""
|
"value": "D06JK4GEK8E"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "EXTENDED_METRICS_ENABLED",
|
"id": "EXTENDED_METRICS_ENABLED",
|
||||||
@@ -767,7 +767,7 @@
|
|||||||
300
|
300
|
||||||
],
|
],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
"jsCode": "const relatorio = $('Code - Motor V2: Relatorio Completo').first().json;\nconst envio = relatorio.envio;\nconst erro = $input.first().json.error || null;\nreturn [{ json: {\n send_key: envio.send_key,\n report_type: envio.report_type,\n period_start: envio.period_start,\n period_end: envio.period_end,\n destination: envio.destino,\n message_hash: envio.message_hash,\n trigger_type: envio.trigger_type,\n status: 'failed',\n sent_at: new Date().toISOString(),\n erro: erro ? String((erro && erro.message) || erro) : null,\n} }];\n"
|
"jsCode": "const relatorio = $('Code - Motor V2: Relatorio Completo').first().json;\nconst envio = relatorio.envio;\nconst erro = $input.first().json.error || null;\n// erro NAO e persistido na Data Table (schema imutavel apos criacao, sem\n// coluna 'erro' — mandar esse campo quebra o insert com \"unknown column\n// name 'erro'\", bug real encontrado e corrigido em 2026-08-25 no teste\n// controlado de envio). Fica so no console.log, visivel no log de\n// execucao do n8n.\nif (erro) console.log('Falha no envio Slack:', erro);\nreturn [{ json: {\n send_key: envio.send_key,\n report_type: envio.report_type,\n period_start: envio.period_start,\n period_end: envio.period_end,\n destination: envio.destino,\n message_hash: envio.message_hash,\n trigger_type: envio.trigger_type,\n status: 'failed',\n sent_at: new Date().toISOString(),\n} }];\n"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -82,10 +82,13 @@ module.exports = function build(codeBodies) {
|
|||||||
// ate a promocao explicita deste workflow para producao.
|
// ate a promocao explicita deste workflow para producao.
|
||||||
setAssignment('SEND_ENABLED', 'SEND_ENABLED', 'boolean', true),
|
setAssignment('SEND_ENABLED', 'SEND_ENABLED', 'boolean', true),
|
||||||
setAssignment('FORCE_SEND', 'FORCE_SEND', 'boolean', false),
|
setAssignment('FORCE_SEND', 'FORCE_SEND', 'boolean', false),
|
||||||
// Canal Slack de destino do Resumo Diario/Semanal. Vazio ate
|
// Canal Slack de destino do Resumo Diario/Semanal. Confirmado
|
||||||
// confirmacao explicita do usuario sobre qual canal deve receber
|
// explicitamente pelo usuario em 2026-08-25 (ver secao 6 da
|
||||||
// (nao deve ser adivinhado — ver secao 6 da missao).
|
// missao — nao foi adivinhado). D06JK4GEK8E: prefixo "D" indica
|
||||||
setAssignment('SLACK_DESTINATION', 'SLACK_DESTINATION', 'string', ''),
|
// uma conversa direta (DM)/IM, nao um canal publico/privado
|
||||||
|
// ("C"/"G") — comportamento identico via chat.postMessage, so
|
||||||
|
// registrando aqui para quem for auditar depois.
|
||||||
|
setAssignment('SLACK_DESTINATION', 'SLACK_DESTINATION', 'string', 'D06JK4GEK8E'),
|
||||||
setAssignment('EXTENDED_METRICS_ENABLED', 'EXTENDED_METRICS_ENABLED', 'boolean', false),
|
setAssignment('EXTENDED_METRICS_ENABLED', 'EXTENDED_METRICS_ENABLED', 'boolean', false),
|
||||||
setAssignment('ANOMALY_MULTIPLIER', 'ANOMALY_MULTIPLIER', 'number', 2.0),
|
setAssignment('ANOMALY_MULTIPLIER', 'ANOMALY_MULTIPLIER', 'number', 2.0),
|
||||||
setAssignment('ANOMALY_MIN_DELTA', 'ANOMALY_MIN_DELTA', 'number', 3),
|
setAssignment('ANOMALY_MIN_DELTA', 'ANOMALY_MIN_DELTA', 'number', 3),
|
||||||
@@ -432,6 +435,12 @@ module.exports = function build(codeBodies) {
|
|||||||
"const relatorio = $('Code - Motor V2: Relatorio Completo').first().json;\n" +
|
"const relatorio = $('Code - Motor V2: Relatorio Completo').first().json;\n" +
|
||||||
'const envio = relatorio.envio;\n' +
|
'const envio = relatorio.envio;\n' +
|
||||||
'const erro = $input.first().json.error || null;\n' +
|
'const erro = $input.first().json.error || null;\n' +
|
||||||
|
'// erro NAO e persistido na Data Table (schema imutavel apos criacao, sem\n' +
|
||||||
|
"// coluna 'erro' — mandar esse campo quebra o insert com \"unknown column\n" +
|
||||||
|
'// name \'erro\'\", bug real encontrado e corrigido em 2026-08-25 no teste\n' +
|
||||||
|
'// controlado de envio). Fica so no console.log, visivel no log de\n' +
|
||||||
|
'// execucao do n8n.\n' +
|
||||||
|
'if (erro) console.log(\'Falha no envio Slack:\', erro);\n' +
|
||||||
'return [{ json: {\n' +
|
'return [{ json: {\n' +
|
||||||
' send_key: envio.send_key,\n' +
|
' send_key: envio.send_key,\n' +
|
||||||
' report_type: envio.report_type,\n' +
|
' report_type: envio.report_type,\n' +
|
||||||
@@ -442,7 +451,6 @@ module.exports = function build(codeBodies) {
|
|||||||
' trigger_type: envio.trigger_type,\n' +
|
' trigger_type: envio.trigger_type,\n' +
|
||||||
" status: 'failed',\n" +
|
" status: 'failed',\n" +
|
||||||
' sent_at: new Date().toISOString(),\n' +
|
' sent_at: new Date().toISOString(),\n' +
|
||||||
' erro: erro ? String((erro && erro.message) || erro) : null,\n' +
|
|
||||||
'} }];\n',
|
'} }];\n',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user