Skip to main content
通过 Ghost Inspector 的 Webhook,将测试用例的运行结果同步到 Flashduty On-call。每个测试对应一条 Flashduty 告警:测试运行失败时触发,同一个测试之后再次运行并通过时恢复。

在 Flashduty On-call


您可通过以下两种方式获取集成推送地址,任选其一即可。

使用专属集成

  1. 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
  2. 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
  3. 选择 Ghost Inspector,点击 保存
  4. 打开生成的集成卡片,复制 推送地址

使用共享集成

  1. 进入 Flashduty 控制台,选择 集成中心 → 告警事件
  2. 选择 Ghost Inspector,填写集成名称
  3. 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
  4. 点击 保存,复制生成的 推送地址

在 Ghost Inspector 中配置


Ghost Inspector 的通知设置分为账号(Organization)、测试套件(Suite)、单个测试(Test)三个层级,下层默认继承上层设置,也可以单独覆盖。按需要的粒度选择其一配置即可;配置在账号或套件层级可以一次覆盖其下所有测试。
1

添加 Webhook

  1. 打开需要接入的测试、所属套件,或账号设置页
  2. 点击 Settings,在左侧栏选择 Notifications
  3. 在 Webhooks 下将 Enabled 设为 Yes(默认的 Use suite setting 只有在套件或账号层级已开启 Webhook 时才会发送),然后点击 Add webhook
  4. 粘贴 Flashduty 集成的完整推送地址(地址中需包含 integration_key),发送选项保持 Always send。Flashduty 需要同时收到失败和通过两种结果,选择 Passing result only 或 Failing result only 会导致告警无法触发或无法恢复
  5. 点击 Save changes
2

验证生命周期

  1. 手动运行一次会失败的测试(例如临时改错一个断言步骤),确认 Flashduty 收到 Critical 告警
  2. 改回正确的步骤,再次运行该测试直到通过,确认原告警恢复
Ghost Inspector 没有独立的「测试通知」按钮:每次测试运行(无论通过或失败)都会推送一条结果,Flashduty 只在测试失败时开出新告警,通过时才去关闭对应的活动告警——如果通过时没有对应的活动告警,则不会产生任何记录。

Alert Key


Flashduty 使用测试的 test._id 作为 Alert Key,即 Webhook 请求体中 data.test._id 字段。Ghost Inspector 每次运行同一个测试都会带上相同的 test._id(区别于 data._id——这是每次运行结果自身的 ID,每次都不同),因此一个测试的失败和之后的恢复能可靠关联到同一条告警。测试名称、浏览器、地域、起止 URL 等字段的变化不会改变 Alert Key。

状态和告警等级


Ghost Inspector 不区分告警等级,只有通过或失败两种结果: 缺少 passing 字段的请求会被拒绝,避免把无法判断状态的请求当作失败处理。

标签


排查问题


  • Flashduty 返回参数错误:确认推送地址包含 integration_key,且 Payload 中包含 data.test._id 和 data.passing
  • 告警没有恢复:确认恢复用的是同一个测试,且配置了 Webhook 的层级(测试 / 套件 / 账号)确实覆盖了这个测试
  • 测试通过但没有新告警,这是预期行为:一次没有对应活动告警的通过结果不会创建任何记录
更多字段含义请参阅 Ghost Inspector Test Webhooks 和 Notifications & Alerts。