workflow-completed 事件,没有开始事件,因此变更没有 Processing 中间状态,直接记录为结束状态:Done、Failed 或 Canceled。
在 Flashduty On-call
- 进入 Flashduty 控制台,选择 集成中心 → 变更事件
- 选择 CircleCI,填写集成名称
- 如需把变更分派到指定协作空间,在集成的 路由 中按标签(例如
project、ref、workflow)配置规则 - 点击 保存,复制生成的 推送地址
在 CircleCI 中配置
1
打开项目的 Webhooks 设置
- 在 CircleCI 控制台进入组织,选择 Projects,在目标项目的菜单中点击 Project Settings
- 在左侧选择 Webhooks,点击 Add Webhook
2
填写推送地址与事件
- Webhook name:填写便于识别的名称,例如
Flashduty - URL:粘贴 Flashduty 集成的完整推送地址
- Certificate Validation:保持勾选
- Secret token:无需填写。Flashduty 通过推送地址中的
integration_key鉴权,不校验circleci-signature - Select an event:勾选
workflow-completed
job-completed 也不会出错,但 Job 事件不生成变更,会被忽略。3
发送测试
点击 Test Ping Event,Flashduty 返回成功且不生成变更。之后运行一次 Workflow,即可在 Flashduty 变更列表中看到记录。
一条变更是什么
状态映射
以下推送返回成功但不生成变更:
job-completed(Job 级事件)ping(测试推送)- 其他事件类型
变更内容
标签可用于路由和在变更列表中筛选:
常见问题
为什么看不到 Workflow 的运行中状态?
为什么看不到 Workflow 的运行中状态?
CircleCI 的出站 Webhook 只提供 Workflow 和 Job 结束的事件,不推送开始事件。变更在 Workflow 结束时以最终状态出现。
CircleCI 重试推送会重复记录吗?
CircleCI 重试推送会重复记录吗?
不会。CircleCI 收到非 2xx 响应后会稍后重试,重试内容相同,Flashduty 以 Workflow 结束时间去重,只记录一次。
推送返回 InvalidParameter 错误?
推送返回 InvalidParameter 错误?
workflow.id is missing:推送内容不完整,请确认推送来自 CircleCI 原生 Webhookunknown workflow.status:出现了未收录的 Workflow 状态值,请联系我们补充映射invalid workflow.stopped_at或invalid happened_at:推送中的时间字段格式不正确