SonarQube レポート Webhooks

Procurize AI における SonarQube Webhook の仕組み、セットアップ、ペイロード構造、セキュリティ検証、リトライ動作について学びます。

概要

Procurize の Webhook は、外部システムが新しい SonarQube レポートの取り込みや更新時に通知を受け取れるようにします。

Webhook の設定

Webhook は、組織の 設定パネルセキュリティレポート セクション (https://dashboard.procurize.ai) で追加または編集できます。設定パネルへのアクセスには認可が必要で、組織の設定パネルにアクセスするにはその組織で少なくとも管理者のユーザーロールが必要です。

Webhook エディタ

Webhook を確認するには、https://webhook-test.com のような一般的なオンラインサービスを使用できます。

Webhook ペイロード

Webhook イベントは JSON ペイロードを含む HTTP POST リクエストとして配信されます。

Example Payload

{
  "organizationId": "00000000-0000-0000-0000-000000000001",
  "reports": [
    {
      "projectName": "Test product",
      "id": "00000000-0000-0000-0000-000000000002",
      "reportType": "CWE Top 25",
      "reportVersion": 2024,
      "projectVersion": "1.0",
      "date": "2025-12-17T09:05:48.5946432+00:00",
      "uploadDate": "2025-12-17T09:05:48.5946432+00:00",
      "vulnerabilitiesCount": 0,
      "securityRating": "A"
    }
  ]
}

Webhook のセキュリティ

真正性を確保するため、Webhook リクエストには共有シークレットを使用して生成された署名ヘッダーが含まれます。

  • 署名は HMAC‑SHA256 を使用して計算されます
  • クライアントはペイロードを処理する前に署名を検証すべきです

これにより、未承認や偽装された webhook 配信を防止できます。

配信とリトライ

  • Webhook は 2xx 応答が返されることで、正常に配信されたとみなされます
  • 配信失敗は自動的に 1 時間ごとにリトライされます。
  • イベントは複数回配信される可能性があるため、コンシューマは冪等性のある処理を実装すべきです

主なユースケース

  • SonarQube の検出結果を社内のセキュリティダッシュボードに自動的に取り込む
  • 品質ゲートが失敗した際にコンプライアンスワークフローをトリガーする
  • 監査やベンダーリスクレビューのためにセキュリティレポートをアーカイブする
  • サードパーティシステムを最新のコードセキュリティ姿勢と同期させる

参考情報:

関連記事

セキュリティレポートとは?

セキュリティレポートリポジトリ

セキュリティレポートの設定方法

トップへ
言語を選択