environment 的任务会自动创建 Deployment,因此使用 Actions 发布的仓库无需改动流水线即可接入。
在 Flashduty On-call
- 进入 Flashduty 控制台,选择 集成中心 → 变更事件
- 选择 GitHub,填写集成名称
- 如需把变更分派到指定协作空间,在集成的 路由 中按标签(例如
repo、environment)配置规则 - 点击 保存,复制生成的 推送地址
在 GitHub 中配置
1
打开 Webhook 设置
- 仓库级:进入仓库 Settings → Webhooks,点击 Add webhook
- 组织级:进入组织 Settings → Webhooks,点击 Add webhook,组织下所有仓库的事件都会推送
2
填写推送地址
- Payload URL:粘贴 Flashduty 集成的完整推送地址
- Content type:选择
application/json(选择application/x-www-form-urlencoded同样可以接收) - Secret:留空即可,Flashduty 通过推送地址中的
integration_key鉴权
3
选择事件
- 选择 Let me select individual events
- 勾选 Deployments、Deployment statuses 和 Releases,取消默认勾选的 Pushes
- 保持 Active 勾选,点击 Add webhook
ping,Flashduty 返回成功但不会生成变更。一条变更是什么
状态映射
Done、Failed 和 Canceled 是结束状态,Flashduty 会记录变更结束时间。
以下推送返回成功但不生成变更:
ping、未列出的其他事件类型、Release 的 created、edited、released、prereleased 动作(发布时 GitHub 会同时发送 published,以 published 为准)、部署状态 inactive(旧部署被新部署取代,不改变旧部署已有的结果)。
变更内容
标签可用于路由和在变更列表中筛选:
常见问题
为什么没有收到部署变更?
为什么没有收到部署变更?
- 确认 Webhook 勾选了 Deployments 和 Deployment statuses。只勾选 Pushes 时不会产生变更
- 在 GitHub Webhook 页面的 Recent Deliveries 查看推送记录和 Flashduty 的响应
- 只有使用 GitHub Deployments 的发布才会产生部署事件,例如在 GitHub Actions 任务中声明
environment,或调用 Deployments API
在 GitHub 中重新推送(Redeliver)会重复记录吗?
在 GitHub 中重新推送(Redeliver)会重复记录吗?
不会。同一状态、同一时间的事件只记录一次。
推送返回 InvalidParameter 错误?
推送返回 InvalidParameter 错误?
unsupported deployment_status.state:收到了 Flashduty 尚未支持的部署状态,请联系我们deployment.id is missing或release.id is missing:推送内容不完整,请确认推送来自 GitHub 原生 Webhook