Webhook ブリッジをデプロイする
PagerDuty の app.devin.ai の 設定 > サービスユーザー で、
incident.resolved イベントを受信し、ポストモーテムを作成するための Devin セッションを開始する小規模なサービスを作成します。これをサーバーレス関数 (AWS Lambda、Cloudflare Worker) または軽量コンテナとしてデプロイします:ManageOrgSessions 権限を持つサービスユーザーを作成します。作成後に表示される API トークンをコピーし、ブリッジサービスで DEVIN_API_KEY として保存します。DEVIN_ORG_ID には組織 ID を設定します。組織 ID は、トークンを使って GET https://api.devin.ai/v3/enterprise/organizations を呼び出して取得できます。WEBHOOK_SECRET には、PagerDuty にも設定する共有シークレットを指定します。PagerDuty の設定
- PagerDuty で Services > [your service] > Integrations に移動します
- Add Integration をクリックし、Generic Webhooks (v3) を選択します
- Webhook URL をブリッジのエンドポイントに設定します (例:
https://your-bridge.example.com/pagerduty-resolved) - Custom Headers で、
WEBHOOK_SECRETとして保存したものと同じ値のX-Webhook-Secretを追加します - Event Subscription で、イベントタイプ
incident.resolvedで絞り込み、インシデントがクローズされた後にのみ事後検証がトリガーされるようにします
インシデントの進行中に Devin がデータの収集を開始し、解決時に事後検証を完了できるようにしたい場合は、
incident.acknowledged を購読することもできます。可観測性MCPを接続する(任意)
Devin は、テレメトリデータにアクセスできると、より質の高いポストモーテムを作成できます。1 つ以上の MCP を有効にして、Devin がインシデント発生期間の実データを取得できるようにします。Datadog MCP — Settings > MCP Marketplace に移動し、Datadog を見つけて Enable をクリックし、API キーと Application キーを入力します。Devin はログ、メトリクス、デプロイイベント、モニター履歴を照会します。Sentry MCP — MCP Marketplace で Sentry を見つけ、Enable をクリックして OAuth フローを完了します。Devin はエラーの詳細、スタックトレース、リリースタグを取得します。接続が完了すると、Devin はテレメトリをインシデントのタイムラインに自動的に関連付け、根拠に基づくポストモーテムを作成します。詳しくは、MCP サーバーの接続をご覧ください。
Devinが生成するもの
PagerDuty インシデントが解決すると、Devin はインシデント発生から解決までの時間帯を分析し、構造化されたポストモーテムを作成します。Devin が生成するポストモーテムの例:
ポストモーテムをカスタマイズする
チームのポストモーテムプロセスに合わせて、パイプラインを調整します。Playbook を利用すると、ポストモーテムのテンプレート (セクション、重大度の分類、必須項目、出力の保存先) を定義できます。すべてのポストモーテムを標準化するには、API リクエストで
playbook_id を渡します。重大度に応じて振り分けます。 ブリッジにロジックを追加し、P1/P2 インシデントについてのみポストモーテムを生成するようにします。重大度の低いインシデントでは、完全なレポートが不要な場合があります。アーキテクチャ、サービスの担当範囲、過去のインシデントに関する Knowledge を追加します。 これにより、Devin が情報同士のつながりを把握できるようになります。たとえば、「orders-service は inventory-service に依存しており、inventory-service は高負荷時にタイムアウトが発生しやすいことで知られている」といった情報です。wiki に投稿します。 リポジトリにコミットする代わりに、セッションプロンプトを通じて Devin に Confluence、Notion、または社内 wiki へポストモーテムを投稿させます。