Skip to main content
版本要求:此功能需要 On-call 标准版及以上订阅。了解更多
通过 Flagsmith 组织级的审计日志 Webhook(Audit Log Webhook),将功能开关和 Segment 的变更同步到 Flashduty On-call。Flagsmith 审计日志中每一条与开关求值相关的记录对应一条 Flashduty 变更,例如修改开关状态或远程配置值、创建或删除开关、修改 Segment 规则和 Segment 覆盖、发布环境特性版本、修改用户身份(Identity)覆盖。 Flagsmith 推送的是已经生效的变更,因此每条变更都直接记录为 Done。

在 Flashduty On-call


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

在 Flagsmith 中配置


1

创建组织级 Webhook

  1. 进入 Organisation Settings,打开 Webhooks 页签
  2. 创建审计日志 Webhook(Audit Log Webhook)
需要组织管理员权限。请使用组织级审计日志 Webhook(Create audit webhook)。除审计日志外,Flagsmith 还会向该地址推送 FLAG_UPDATED、FLAG_DELETED 事件,Flashduty 收到后返回成功,不生成变更。
2

填写推送地址

  1. URL:粘贴 Flashduty 集成的完整推送地址
  2. Secret:留空。Flashduty 通过推送地址中的 integration_key 鉴权,不校验 X-Flagsmith-Signature
  3. 启用该 Webhook 并保存
Flagsmith 会把组织下所有项目的审计日志推送到该地址,之后在任一开关上做一次变更,即可在 Flashduty 变更列表中看到记录。Webhook 对话框中的 Test your webhook 按钮可发送测试推送,Flashduty 收到后返回成功,不生成变更。

一条变更是什么


状态映射


以下推送返回成功但不生成变更:
  • 其他类型的记录,例如变更请求(CHANGE_REQUEST)、环境、导入请求、开关健康状态、发布流水线
  • 开关的名称、描述、标签等元数据修改(Flag / Remote Config updated)
  • 只创建定时变更、尚未生效的记录(日志内容含 scheduled for);变更生效时 Flagsmith 会另外推送一条记录
  • 事件类型不是 AUDIT_LOG_CREATED 的推送,例如 FLAG_UPDATED、FLAG_DELETED
  • Flagsmith 的测试推送

变更内容


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

常见问题


不会。同一条记录的重试内容与原推送相同,Flashduty 只记录一次。
先看上文 状态映射 中的忽略列表:元数据修改、变更请求本身、定时变更的创建都不记录,变更请求提交并生效、定时变更到期生效时才有记录。另外确认 Webhook 配置在组织级并处于启用状态。
  • data.id is missing:推送内容缺少审计日志 ID,请确认推送来自 Flagsmith 组织级 Webhook
  • invalid created_date:推送中的时间字段格式不正确