Skip to main content
版本要求:此功能需要 On-call 标准版及以上订阅。了解更多
通过 HCP Terraform(原 Terraform Cloud)工作区的通知配置(Notification),将 Terraform Run 同步到 Flashduty On-call。每一次 Run 对应一条 Flashduty 变更;Run 从创建、Plan、等待确认、Apply 到完成、出错或取消的每个状态,都会更新同一条变更。

在 Flashduty On-call


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

在 HCP Terraform 中配置


通知按工作区配置,每个需要接入的工作区配置一次。需要该工作区的管理员权限。
1

打开通知设置

进入工作区,选择 Settings → Notifications,点击 Create a notification。
2

填写推送地址

  1. Destination:选择 Webhook
  2. Name:填写便于识别的名称,例如 Flashduty
  3. Webhook URL:粘贴 Flashduty 集成的完整推送地址
  4. Token:留空即可,Flashduty 通过推送地址中的 integration_key 鉴权
3

选择触发事件

  1. 在 Run Events 中选择 All events
  2. 在 Workspace Events(漂移检测、自动销毁等)中选择 No events,Flashduty 会忽略这类通知
  3. 点击 Create a notification
保存时 HCP Terraform 会发送一次验证请求,Flashduty 返回成功但不会生成变更。之后可以用 Send a test 再次验证。
也可以使用 Terraform 的 tfe Provider 管理这项配置:tfe_notification_configuration 资源设置 destination_type = "generic"、url 为推送地址、triggers 为 ["run:created", "run:planning", "run:needs_attention", "run:applying", "run:completed", "run:errored"]。

一条变更是什么


状态映射


Done、Failed 和 Canceled 是结束状态,Flashduty 会记录变更结束时间。 planned_and_finished 表示只做了 Plan 的 Run(无变更或 Plan-only),同样记为 Done,可以通过 run_status 标签区分。 以下推送返回成功但不生成变更:保存配置或 Send a test 时的验证请求(trigger 为 verification)、健康评估通知(assessment:drifted、assessment:check_failure、assessment:failed)和工作区通知(workspace:auto_destroy_reminder、workspace:auto_destroy_run_results、workspace:deleted)。

变更内容


标签可用于路由和在变更列表中筛选:

常见问题


  • 确认通知配置已启用,且勾选了 Run Events。只勾选 Workspace Events 时不会产生变更
  • 在通知配置页面查看最近的推送记录和 Flashduty 的响应
  • 通知按工作区配置,确认 Run 所在的工作区配置了该通知
不会。同一 Run、同一状态、同一时间的事件只记录一次。
不会。健康评估反映的是资源状态偏离配置,不是一次变更,Flashduty 收到后返回成功并忽略。
  • unsupported notifications[].trigger 或 unsupported notifications[].run_status:收到了 Flashduty 尚未支持的触发事件或 Run 状态,请联系我们
  • run_id is missing:推送内容不完整,请确认推送来自 HCP Terraform 的 Webhook 通知