跳到主要内容

Error Trigger(错误触发器) 节点

可以使用 Error Trigger 节点创建错误工作流。另一个已关联的工作流失败时,此节点会获取该工作流及其错误的详情,并运行错误工作流。

用法 ​

  1. 创建新工作流,以 Error Trigger 作为第一个节点。
  2. 为工作流命名,例如 Error Handler。
  3. 选择 Save(保存)。
  4. 在要使用此错误工作流的工作流中:
    1. 选择 Options(选项) 选项菜单图标 > Settings(设置)。
    2. 在 Error workflow(错误工作流) 中,选择刚创建的工作流。例如,如果命名为 Error Handler,则选择 Error handler。
    3. 选择 Save(保存)。 现在,该工作流发生错误时,关联的错误工作流就会运行。

请注意:

  • 使用 Error Trigger 节点的工作流无需发布。
  • 包含 Error Trigger 节点的工作流,默认以自身作为错误工作流。
  • 手动运行工作流时,无法测试错误工作流。Error Trigger 仅在自动工作流发生错误时运行。

模板与示例 ​

浏览 Error Trigger(错误触发器) 集成模板,或搜索所有模板

相关资源 ​

可使用 Stop And Error 节点向 Error Trigger 发送自定义消息。

有关错误工作流的更多信息,请参阅 n8n 工作流中的错误工作流。

错误数据 ​

Error Trigger 默认收到的错误数据如下:

[
{
"execution": {
"id": "231",
"url": "https://n8n.example.com/execution/231",
"retryOf": "34",
"error": {
"message": "Example Error Message",
"stack": "Stacktrace"
},
"lastNodeExecuted": "Node With Error",
"mode": "manual"
},
"workflow": {
"id": "1",
"name": "Example Workflow"
}
}
]

除以下字段外,其他信息始终存在:

  • execution.id:要求执行记录已保存到数据库。如果错误发生在主工作流的触发器节点中,则不会出现此字段,因为工作流尚未执行。
  • execution.url:要求执行记录已保存到数据库。如果错误发生在主工作流的触发器节点中,则不会出现此字段,因为工作流尚未执行。
  • execution.retryOf:仅在本次执行是对失败执行的重试时存在。

如果错误由主工作流的触发器节点引起,而不是发生在后续阶段,发送给错误工作流的数据会有所不同。execution{} 中的信息会更少,而 trigger{} 中的信息会更多:

{
"trigger": {
"error": {
"context": {},
"name": "WorkflowActivationError",
"cause": {
"message": "",
"stack": ""
},
"timestamp": 1654609328787,
"message": "",
"node": {
. . .
}
},
"mode": "trigger"
},
"workflow": {
"id": "",
"name": ""
}
}
本文为社区中文翻译。查看对应英文原文