Skip to main content
版本要求:此功能需要 On-call 标准版及以上订阅。了解更多
通过 Vercel 团队的 Webhook,将部署(Deployment)和生产环境回滚(Instant Rollback)同步到 Flashduty On-call。每一次部署对应一条 Flashduty 变更,部署从创建、构建到成功、上线、失败或取消的每个状态,都会更新同一条变更。
Vercel 的团队 Webhook 仅对 Pro 和 Enterprise 团队开放,Hobby 账号无法配置。

在 Flashduty On-call


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

在 Vercel 中配置


1

打开 Webhook 设置

在 Vercel 控制台切换到目标团队,进入 Settings → Webhooks。需要团队的 Webhook 管理权限。
2

选择事件

在 Deployment Events 中勾选:
  • Deployment Created
  • Deployment Succeeded
  • Deployment Promoted
  • Deployment Rollback
  • Deployment Error
  • Deployment Cancelled
Project、Feature Flag、Firewall 事件不是部署变更,勾选后 Flashduty 返回成功但不会生成变更。
3

选择项目并填写推送地址

  1. 选择要推送的项目:All Team Projects 或指定项目
  2. Endpoint URL:粘贴 Flashduty 集成的完整推送地址
  3. 点击 Create Webhook
Vercel 创建后会显示一个 Secret,Flashduty 不需要它,通过推送地址中的 integration_key 鉴权。

一条变更是什么


状态映射


Done、Failed 和 Canceled 是结束状态,Flashduty 会记录变更结束时间。 以下推送返回成功但不生成变更:非 deployment. 开头的事件类型(Project、Feature Flag、Firewall 等);与 Checks、集成动作相关的部署事件;deployment.cleanup(部署在保留期结束后被永久删除,不改变该部署已有的结果)。

变更内容


标签可用于路由和在变更列表中筛选: ref、sha、actor 来自连接 GitHub、GitLab 或 Bitbucket 仓库时的部署元数据,通过 CLI 直接部署时没有这些标签。

常见问题


生产部署构建成功后 Vercel 先发送 deployment.succeeded,切换生产流量后再发送 deployment.promoted。两者都是 Done,更新的是同一条变更。
不会。Flashduty 使用 Vercel 事件自带的时间,同一事件、同一时间只记录一次。推送失败时 Vercel 会在 24 小时内重试。
从同一个部署回滚到同一个部署时变更标识相同,第二次回滚会更新第一次的变更(最后时间更新为第二次),不会新建变更。Vercel 的回滚事件只带两个部署 ID,没有独立的回滚 ID。
  • unsupported type:收到了 Flashduty 尚未支持的部署事件(例如通过 API 订阅的 deployment.blocked),请只勾选上文列出的 6 个事件,或联系我们
  • payload.deployment.id is missing:推送内容不完整,请确认推送来自 Vercel 原生 Webhook