workflow、ref 标签在 Flashduty 中路由或筛选出部署类运行。
本页适用于 Gitea。Forgejo 的 Actions 事件名称和内容与 Gitea 不同,暂不支持,可使用自定义变更事件接入。
在 Flashduty On-call
- 进入 Flashduty 控制台,选择 集成中心 → 变更事件
- 选择 Gitea,填写集成名称
- 如需把变更分派到指定协作空间,在集成的 路由 中按标签(例如
repo、workflow)配置规则 - 点击 保存,复制生成的 推送地址
在 Gitea 中配置
1
打开 Webhook 设置
- 仓库级:进入仓库 设置 → Webhooks,点击 添加 Webhook → Gitea
- 组织级:进入组织 设置 → Webhooks,点击 添加 Webhook → Gitea,组织下所有仓库的事件都会推送
2
填写推送地址
- 目标 URL(Target URL):粘贴 Flashduty 集成的完整推送地址
- HTTP 方法:选择
POST - POST 内容类型:选择
application/json(选择application/x-www-form-urlencoded同样可以接收) - 密钥(Secret):留空即可,Flashduty 通过推送地址中的
integration_key鉴权
3
选择事件
- 在 触发条件 中选择 自定义事件…
- 勾选 Workflow Run 和 Release,取消其他事件;不要勾选 Workflow Jobs,它不会生成变更
- 分支过滤 留空,它对工作流运行不生效
- 保持 激活 勾选,点击 添加 Webhook
push 事件,Flashduty 返回成功但不会生成变更。
一条变更是什么
状态映射
Done、Failed 和 Canceled 是结束状态,Flashduty 会记录变更结束时间。
以下推送返回成功但不生成变更:Gitea 的其他事件类型(包括
workflow_job 和测试推送事件产生的 push)、Release 的 updated 动作、草稿状态的 Release,以及排队中的运行(状态为 queued、pending 或 requested 的 requested 事件;变更从运行开始时才产生)。
变更内容
标签可用于路由和在变更列表中筛选:
常见问题
为什么没有收到工作流变更?
为什么没有收到工作流变更?
- 确认 Webhook 勾选了 Workflow Run,且所用的 Gitea 版本提供该事件
- 在 Webhook 页面的推送记录中查看请求和 Flashduty 的响应
在 Gitea 中重放(Replay)推送会重复记录吗?
在 Gitea 中重放(Replay)推送会重复记录吗?
不会。同一状态、同一时间的事件只记录一次。
为什么所有工作流都变成了变更?
为什么所有工作流都变成了变更?
Gitea 不能按工作流筛选 Webhook 事件。分支过滤 对工作流运行同样不生效。请在集成的 路由 中按
workflow 或 ref 标签把部署类工作流分派到对应协作空间。推送返回 InvalidParameter 错误?
推送返回 InvalidParameter 错误?
unsupported action、unsupported workflow_run.status或unsupported workflow_run.conclusion:收到了 Flashduty 尚未支持的运行状态,请联系我们workflow_run.id is missing或release.id is missing:推送内容不完整,请确认推送来自 Gitea 原生 Webhook