概要
セットアップ
Webhook ブリッジサービスをデプロイする
PagerDuty のインシデントペイロードを受信し、Devin API を呼び出して調査セッションを開始する小規模なハンドラーを作成します。HTTPS トラフィックを受信できる環境であれば、どこにでもデプロイできます。たとえば、Cloudflare Worker、AWS Lambda、小規模なコンテナなどです。
ManageOrgSessions 権限を持つサービスユーザーを Settings > Service Users で作成します。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を指定してフィルタリングし、新しいインシデントでのみ送信されるようにします
パイプラインを検証する
PagerDuty でテスト用のインシデントをトリガーするか、テストサービスを利用して、次の点を確認します。
- ブリッジが webhook ペイロードを受信する
- 新しい Devin セッションが app.devin.ai に作成される
- Devin がインシデントの調査を開始する
ベストプラクティス
- まずは警告レベルのモニターから始めましょう。 本番環境の P1 アラートを Devin にルーティングする前に、重要度の低いインシデントでパイプラインをテストしてください。
- サービスや重大度でフィルタリングしましょう。 PagerDuty の webhook イベントサブスクリプションを利用するか、ブリッジにロジックを追加して、優先度の低いサービスやノイズの多いサービスを除外します。これにより、価値の低いアラートによって Devin が過負荷になるのを防げます。
- 重大度ごとに異なる playbook を利用しましょう。 P1 アラートは即時調査とホットフィックス向けにルーティングします。P3 アラートは根本原因の分析のみにルーティングします。緊急度に応じて、Devin API リクエストで異なる
playbook_idの値を渡してください。 - 追跡しやすいようにセッションにタグを付けましょう。 サンプルコードでは、各セッションに
pagerduty-triageとサービス名のタグを付けているため、Devin ダッシュボードで簡単にフィルタリングして確認できます。
Datadogとの併用
- PagerDuty がアラートを Devin にルーティングし、調査セッションをトリガーします
- Devin は Datadog MCP を利用して、影響を受けたサービスのログ、メトリクス、トレースを照会します
