概述
设置
部署一个 webhook 桥接服务
构建一个小型处理程序,用于接收 PagerDuty 事件负载,并调用 Devin API 启动调查会话。在 Settings > Service Users 中创建一个具有 将它部署到任何能够接收 HTTPS 流量的地方,例如 Cloudflare Worker、AWS Lambda 或一个小型容器。
ManageOrgSessions 权限的服务用户。将 API 令牌存储为 DEVIN_API_KEY,将你的组织 ID 存储为 DEVIN_ORG_ID,并在桥接服务上将共享密钥存储为 WEBHOOK_SECRET。下一步中,你将在 PagerDuty webhook 的 Custom Headers 中配置这个相同的密钥。在 PagerDuty 中添加 webhook 集成
- 在 PagerDuty 中,前往 Services > [your service] > Integrations
- 点击 Add Integration,然后选择 Generic Webhooks (v3)
- 将 Webhook URL 设置为你的桥接服务端点 (例如:
https://your-bridge.example.com/pagerduty-alert) - 在 Custom Headers 下,添加
X-Webhook-Secret,其值与您在桥接服务上存储为WEBHOOK_SECRET的值相同 - 在 Event Subscription 下,按事件类型
incident.triggered进行筛选,以便仅在新事件触发时发送 webhook
验证流程
在 PagerDuty 中触发一个测试事件 (或使用测试服务) ,并确认:
- 你的桥接服务收到了 webhook 负载
- app.devin.ai 中已创建一个新的 Devin 会话
- Devin 已开始调查该事件
最佳实践
- 从 warning 级别的监控开始。 在将生产环境中的 P1 告警路由到 Devin 之前,先用非关键事件测试这条流程。
- 按服务或严重程度过滤。 使用 PagerDuty 的 webhook 事件订阅,或在你的桥接服务中添加逻辑,跳过低优先级或噪声较大的服务。这样可以避免 Devin 被价值较低的告警淹没。
- 针对不同严重程度使用不同的 playbooks。 将 P1 告警路由到立即调查和热修复流程。将 P3 告警仅路由到根因分析。根据紧急程度,在 Devin API 请求中传入不同的
playbook_id值。 - 为会话添加标签以便跟踪。 示例代码会为每个会话添加
pagerduty-triage和服务名称标签,方便你在 Devin 控制台中过滤和查看。
结合 Datadog 使用
- PagerDuty 将告警路由到 Devin (触发调查会话)
- Devin 使用 Datadog MCP 查询受影响服务的日志、指标和追踪数据
