Skip to main content
版本要求:此功能需要 On-call 标准版及以上订阅。了解更多
通过 Octopus Deploy 的订阅(Subscription)Webhook,将部署(Deployment)的进展同步到 Flashduty On-call。每个 Octopus 部署对应一条 Flashduty 变更,随部署从排队、执行到结束更新状态。

在 Flashduty On-call


  1. 进入 Flashduty 控制台,选择 集成中心 → 变更事件
  2. 选择 Octopus Deploy,填写集成名称
  3. 如需把变更分派到指定协作空间,在集成的 路由 中按标签(例如 project、environment)配置规则
  4. 点击 保存,复制生成的 推送地址

在 Octopus Deploy 中配置


1

创建订阅

  1. 进入 Configuration → Subscriptions,点击 Add Subscription
  2. Name:填写便于识别的名称,例如 Flashduty
需要具备管理订阅的权限。
2

选择事件

在事件过滤条件的 Event Categories 中选择以下五项:
  • Deployment queued
  • Deployment started
  • Deployment succeeded
  • Deployment failed
  • Deployment canceled
按需用 Projects、Environments 等过滤条件缩小范围。
3

填写推送地址

在 Webhook Notifications 中,将 Enabled 开关打开(默认关闭,不打开则不会发送),再将 Payload URL 设为 Flashduty 集成的完整推送地址。Header 无需填写,Flashduty 通过推送地址中的 integration_key 鉴权。保存订阅。
Octopus Deploy 没有测试推送按钮。保存后触发一次部署,即可在 Flashduty 变更列表中看到记录。变更链接依赖推送内容中的 Octopus 服务器地址。Octopus Cloud 会自动带上;自托管实例需在 Configuration → Nodes → Configuration Settings 中设置对外访问地址,否则变更没有链接。

一条变更是什么


状态映射


以下推送返回成功但不生成变更:
  • 没有事件类别的推送,以及不属于部署的事件类别(项目、发布、环境、部署目标等的创建和修改)
  • Deployment resumed、Deployment precondition evaluated,它们不改变部署的结果
Flashduty 不认识的 Deployment 开头的事件类别返回 InvalidParameter,并在错误信息中给出类别名,其他事件不受影响。

变更内容


标签可用于路由和在变更列表中筛选: 名称从事件消息中读取,读不到时对应标签为空,标题改用 ID。

常见问题


不会。Octopus 不保证每个事件只推送一次;重复推送的事件发生时间和类别相同,Flashduty 只记录一次。
  • Payload.Event.RelatedDocumentIds has no Deployments- id:部署事件中没有部署 ID,请确认推送来自 Octopus 订阅
  • unknown deployment event category:出现了未适配的部署事件类别,请联系我们
Octopus 只有设置了对外访问地址才会在推送中带上服务器地址,见上文配置说明。