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
@@ -82,10 +82,13 @@ module.exports = function build(codeBodies) {
|
||||
// ate a promocao explicita deste workflow para producao.
|
||||
setAssignment('SEND_ENABLED', 'SEND_ENABLED', 'boolean', true),
|
||||
setAssignment('FORCE_SEND', 'FORCE_SEND', 'boolean', false),
|
||||
// Canal Slack de destino do Resumo Diario/Semanal. Vazio ate
|
||||
// confirmacao explicita do usuario sobre qual canal deve receber
|
||||
// (nao deve ser adivinhado — ver secao 6 da missao).
|
||||
setAssignment('SLACK_DESTINATION', 'SLACK_DESTINATION', 'string', ''),
|
||||
// Canal Slack de destino do Resumo Diario/Semanal. Confirmado
|
||||
// explicitamente pelo usuario em 2026-08-25 (ver secao 6 da
|
||||
// missao — nao foi adivinhado). D06JK4GEK8E: prefixo "D" indica
|
||||
// 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('ANOMALY_MULTIPLIER', 'ANOMALY_MULTIPLIER', 'number', 2.0),
|
||||
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 envio = relatorio.envio;\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' +
|
||||
' send_key: envio.send_key,\n' +
|
||||
' report_type: envio.report_type,\n' +
|
||||
@@ -442,7 +451,6 @@ module.exports = function build(codeBodies) {
|
||||
' 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',
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user