在 Flashduty On-call
- 进入 Flashduty 控制台,选择 集成中心 → 变更事件
- 选择 Octopus Deploy,填写集成名称
- 如需把变更分派到指定协作空间,在集成的 路由 中按标签(例如
project、environment)配置规则 - 点击 保存,复制生成的 推送地址
在 Octopus Deploy 中配置
1
创建订阅
- 进入 Configuration → Subscriptions,点击 Add Subscription
- Name:填写便于识别的名称,例如
Flashduty
2
选择事件
在事件过滤条件的 Event Categories 中选择以下五项:
- Deployment queued
- Deployment started
- Deployment succeeded
- Deployment failed
- Deployment canceled
3
填写推送地址
在 Webhook Notifications 中,将 Enabled 开关打开(默认关闭,不打开则不会发送),再将 Payload URL 设为 Flashduty 集成的完整推送地址。Header 无需填写,Flashduty 通过推送地址中的
integration_key 鉴权。保存订阅。一条变更是什么
状态映射
以下推送返回成功但不生成变更:
- 没有事件类别的推送,以及不属于部署的事件类别(项目、发布、环境、部署目标等的创建和修改)
- Deployment resumed、Deployment precondition evaluated,它们不改变部署的结果
Deployment 开头的事件类别返回 InvalidParameter,并在错误信息中给出类别名,其他事件不受影响。
变更内容
标签可用于路由和在变更列表中筛选:
名称从事件消息中读取,读不到时对应标签为空,标题改用 ID。
常见问题
Octopus 重复推送会重复记录吗?
Octopus 重复推送会重复记录吗?
不会。Octopus 不保证每个事件只推送一次;重复推送的事件发生时间和类别相同,Flashduty 只记录一次。
推送返回 InvalidParameter 错误?
推送返回 InvalidParameter 错误?
Payload.Event.RelatedDocumentIds has no Deployments- id:部署事件中没有部署 ID,请确认推送来自 Octopus 订阅unknown deployment event category:出现了未适配的部署事件类别,请联系我们
为什么变更没有链接?
为什么变更没有链接?
Octopus 只有设置了对外访问地址才会在推送中带上服务器地址,见上文配置说明。