Skip to main content
版本要求:此功能需要 On-call 标准版及以上订阅。了解更多
通过 Zadig v5 的 Webhook,将工作流任务(Workflow Task)的执行情况同步到 Flashduty On-call。每次工作流执行对应一条 Flashduty 变更:开始执行时创建,状态变化时更新,结束时记录最终状态。 Zadig 有两种 Webhook 可用,推送内容相同:
  • 系统钩子:由管理员在系统级配置一次,对所有工作流生效,在任务开始执行和执行完成时各推送一次,推荐使用
  • 工作流的 Webhook 通知:在单个工作流中添加,按所选的工作流状态推送

在 Flashduty On-call


  1. 进入 Flashduty 控制台,选择 集成中心 → 变更事件
  2. 选择 Zadig,填写集成名称
  3. 如需把变更分派到指定协作空间,在集成的 路由 中按标签(例如 project、workflow)配置规则
  4. 点击 保存,复制生成的 推送地址

在 Zadig 中配置


方式一:系统钩子

1

打开系统钩子

系统管理员进入 系统设置 → 系统配置 → 系统钩子。
2

填写推送地址与触发事件

  1. 启用系统钩子:打开
  2. Hook 地址:粘贴 Flashduty 集成的完整推送地址
  3. Secret Token:无需填写。Flashduty 通过推送地址中的 integration_key 鉴权,不校验 X-Zadig-Token
  4. 触发事件:同时勾选 开始执行 和 执行完成
3

运行工作流

执行一次工作流,即可在 Flashduty 变更列表中看到记录。

方式二:工作流的 Webhook 通知

编辑工作流,添加 Webhook 类型的通知,Webhook 地址 填写 Flashduty 推送地址,通知事件 选择需要同步的工作流状态(例如执行成功、执行失败、已取消、超时)。该方式只在所选状态出现时推送,没有选择的状态不会出现在变更中。 同时配置两种方式不会产生重复变更:同一个任务的同一状态只记录一次。

一条变更是什么


对已有任务点击 重试 会重新开始同一个任务(任务 ID 不变),因此重试会重新打开原来的变更,状态回到 Ready 并随后更新。

状态映射


系统钩子只会推送 created(开始执行)和结束状态(passed、failed、timeout、cancelled),等待手动执行等中间状态只可能来自工作流的 Webhook 通知。 以下推送返回成功但不生成变更:
  • 发布计划(object_kind 为 release_plan)的推送。发布计划只在规划完成、开始执行、全部任务完成三个时点推送,取消、拒绝、超时不会推送,用它建立变更会出现一直不结束的记录;由发布计划触发的工作流任务会照常记录,并带有 release_plan 标签
  • 测试、代码扫描、交付版本任务(task_type 为 test、scan、delivery)
  • 其他 object_kind 的推送

变更内容


标签可用于路由和在变更列表中筛选:

常见问题


会。Zadig 的推送不区分工作流是否包含部署任务,所有工作流任务都会记录。可以在集成的 路由 中按 workflow 标签筛选需要关注的工作流。
系统钩子不推送中间状态。需要这些状态时,在工作流中添加 Webhook 通知并选择对应的通知事件。
Zadig 发送失败只记录日志,不会自动重试。Flashduty 以变更时间和状态去重,同一状态重复收到只记录一次。
  • workflow is missing、workflow.project_name is missing、workflow.workflow_name is missing、workflow.task_id is missing:推送内容不完整,请确认推送来自 Zadig 原生 Webhook
  • unknown workflow.status:出现了未收录的任务状态值,请联系我们补充映射