Skip to main content
配置故障 Webhook,当故障发生特定操作(如触发、关闭)时,系统通过 HTTP 回调您配置的地址。回调内容将包含故障最新关键信息,您可以与自研工具进行集成。

一、事件类型

目前支持以下事件类型,未来可能会增加。

二、推送描述

请求方式

POST, Content-Type:“application/json”

请求 Payload:

Person:Responder:Incident:

请求响应

HTTP status code 为 200,认为推送成功。

请求示例

三、配置指南

进入 集成中心Webhook → 添加或编辑 故障 Webhook 集成。

基础设置

填写集成名称和描述,便于后续管理。

Webhook 设置

关闭 TLS 证书验证可能存在中间人攻击风险,建议仅在测试环境或使用自签名证书时关闭。

自定义请求体

默认情况下,系统会按照上述 Payload 结构推送完整的 JSON 数据。如果你的接收方对数据格式有特殊要求,可以通过自定义请求体来重新组织推送内容。 使用 {{字段路径}} 语法引用默认 Payload 中的任意字段,系统会在推送时将变量替换为实际值。 变量语法:
  • . 分隔路径层级,如 {{incident.title}} 引用故障标题
  • 支持数组索引访问,如 {{incident.responders.0.email}} 引用第一个处理人的邮箱
  • 当整个值只有一个变量时(如 "{{incident.labels}}"),会保留原始数据类型(对象、数组、数字等)
  • 当变量与其他文本混合时(如 "故障:{{incident.title}}"),变量会被转为字符串拼接
示例: 将默认 Payload 转为自定义格式推送到企业内部系统:
如果变量路径在默认 Payload 中不存在,系统会保留原始的 {{...}} 文本不做替换。建议先通过调用历史查看实际推送的默认 Payload,确认可用的字段路径。

值映射

在自定义请求体中,您可能需要将 Flashduty 的字段值转换为接收方系统所期望的格式。通过 值映射 可以在变量解析时自动完成值的转换。 值映射按字段路径分组配置,每个路径下是一个 源值 → 目标值 的映射表。 示例: 将严重程度和处理进度转换为接收方系统的自定义值:
配合如下自定义请求体使用:
当故障严重程度为 Critical 时,推送结果中 severity 字段的值为 P0。未匹配到映射的值将保持原样。

四、调用历史

故障 Webhook 提供完整的调用历史记录,方便你排查推送是否成功以及调试回调接口。

查看调用历史

进入故障 Webhook 集成详情页,切换到 调用历史 页签即可查看。

筛选与搜索

历史记录字段

查看调用详情

点击某条记录的 查看详情,可查看完整的请求和响应信息:
  • Request:包括 Endpoint、Request Headers 和 Request Payload
  • Response:成功时显示 Response Headers 和 Response Body;失败时显示 Error Message

五、常见问题

  1. 服务是否有响应超时时间?
    • 服务需要在 2 秒内返回响应,超过 2 秒则认为响应失败
  2. 推送失败后是否会持续推送?
针对特定的网络错误,会进行重试,最多重试1次:
  • context deadline exceeded (排除 awaiting headers)
  • i/o timeout
  • eof
  1. 如何保证推送顺序?
    • 理论上同一个故障的事件是按照时间顺序进行推送,但是重试等情况可能会导致乱序
    • 服务可以根据 event_time 进行过滤,如果已经收到了更晚的事件,可以直接过滤掉更早的事件,每一次推送都会携带最新的、完整的信息,偶尔丢失事件是可以容忍的
  2. 推送来源可信 IP 白名单?
    • 未来可能会更新,请定期查验