Skip to main content
版本要求:此功能需要 On-call 标准版及以上订阅。了解更多
通过 LaunchDarkly 组织级 Webhook,将功能开关(Flag)和用户分群(Segment)的变更同步到 Flashduty On-call。LaunchDarkly 的变更历史(Change history)中每一条 Flag 或 Segment 记录对应一条 Flashduty 变更,例如打开或关闭开关、修改定向规则、修改默认规则。 LaunchDarkly 推送的是已经生效的变更,因此每条变更都直接记录为 Done。

在 Flashduty On-call


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

在 LaunchDarkly 中配置


1

打开 Webhooks 集成

  1. 点击左侧栏的 齿轮 图标,进入 Organization settings
  2. 点击 Integrations,找到 Webhooks,点击 Add new
需要能管理集成的成员角色(例如 Admin)。
2

填写推送地址

  1. Name:填写便于识别的名称,例如 Flashduty
  2. URL:粘贴 Flashduty 集成的完整推送地址
  3. Sign this webhook:无需勾选,Flashduty 通过推送地址中的 integration_key 鉴权
3

选择推送范围

不添加策略(Policy)时,LaunchDarkly 只推送 production 环境的 Flag 变更。如需推送其他环境或 Segment 变更,添加如下策略:
将 env/* 替换为具体环境(例如 env/production)即可只推送该环境。勾选同意条款后点击 Save settings。
LaunchDarkly 没有测试推送按钮。保存后在任一 Flag 上做一次变更,即可在 Flashduty 变更列表中看到记录。

一条变更是什么


状态映射


以下推送返回成功但不生成变更:
  • 其他资源类型的记录,例如项目、环境、成员、角色、Webhook、指标、实验
  • 只包含以下动作的记录,它们不改变 Flag 的求值结果:
    • 审批请求的创建、修改、评审、删除(审批通过并应用后,LaunchDarkly 会推送应用这一步的记录)
    • 定时变更的创建、修改和删除(到期执行时会推送执行的记录)
    • 名称、描述、标签、维护者、临时标记、弃用标记、自定义属性、规则描述、代码引用、Flag 链接、关注者、Segment 导出

变更内容


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

常见问题


未配置策略时 LaunchDarkly 只推送 production 环境的 Flag 变更。按上文 选择推送范围 添加策略。
不会。推送失败时 LaunchDarkly 会重试一次,重试内容与原推送相同,Flashduty 只记录一次。
LaunchDarkly 不保证按时间顺序推送。Flashduty 使用记录自身的时间(date)作为变更时间。
  • _id is missing:推送内容不完整,请确认推送来自 LaunchDarkly 原生 Webhook
  • invalid date:推送中的时间字段格式不正确