ref 标签在 Flashduty 中路由或筛选出需要关注的分支,例如 master、release。
在 Flashduty On-call
- 进入 Flashduty 控制台,选择 集成中心 → 变更事件
- 选择 Gitee,填写集成名称
- 如需把变更分派到指定协作空间,在集成的 路由 中按标签(例如
repo、ref)配置规则 - 点击 保存,复制生成的 推送地址
在 Gitee 中配置
1
添加 WebHook
进入仓库主页,选择 管理 → WebHooks,添加 WebHook。企业级 WebHook 对企业内所有仓库生效。需要仓库或企业的管理员权限。
2
填写推送地址
- URL:粘贴 Flashduty 集成的完整推送地址
- 密码 和 签名密钥:留空即可,Flashduty 通过推送地址中的
integration_key鉴权,不读取也不校验 Gitee 随请求发送的密码和签名
3
选择钩子
勾选需要的钩子:
- Push:推送代码到分支
- Tag Push:新建 Tag
- Pull Request:Pull Request 合并(其他 Pull Request 动作不会生成变更)
一条变更是什么
同一个提交被推送到两个分支,是两条变更。
状态映射
Done 是结束状态,Flashduty 会记录变更结束时间。
以下推送返回成功但不生成变更:Issue 和评论钩子、删除分支或 Tag 的推送、
action 不是 merge 的 Pull Request 钩子(open、update、approved、close、tested 等),以及无法识别的钩子类型。
变更内容
标签可用于路由和在变更列表中筛选:
常见问题
为什么所有分支的推送都变成了变更?
为什么所有分支的推送都变成了变更?
Gitee 的 WebHook 不能按分支筛选。请在集成的 路由 中按
ref 标签把需要关注的分支分派到对应协作空间,或只勾选 Tag Push 和 Pull Request。为什么合并 Pull Request 后没有变更?
为什么合并 Pull Request 后没有变更?
- 确认 WebHook 勾选了 Pull Request
- 只有合并动作生成变更;新建、更新、关闭等动作返回成功但不记录
- 在 WebHook 的推送记录中查看请求和 Flashduty 的响应
Gitee 重新推送同一条通知会重复记录吗?
Gitee 重新推送同一条通知会重复记录吗?
不会。同一变更、同一时间的事件只记录一次。
测试 WebHook 会生成变更吗?
测试 WebHook 会生成变更吗?
Gitee 的 测试 WebHook 按所选钩子发送测试数据,格式与真实推送相同,所以可能生成一条变更,属于预期行为。
推送返回 InvalidParameter 错误?
推送返回 InvalidParameter 错误?
ref is missing、after is missing、repository.id is missing、pull_request.id is missing或pull_request is missing:推送内容不完整,请确认推送来自 Gitee 原生 WebHook- 请求体不是 JSON:请使用 Gitee 当前的 WebHook(
Content-Type: application/json);旧版钩子以表单格式发送,不受支持