SonarQube 报告 Webhooks

了解 SonarQube Webhooks 在 Procurize AI 中的工作原理,包括设置、负载结构、安全验证和重试行为。

概述

Procurize 的 Webhooks 允许外部系统在新 SonarQube 报告被摄取或更新时收到通知。

配置 Webhooks

可以在组织的 设置面板安全报告 部分(https://dashboard.procurize.ai)中添加或编辑 Webhooks。
请注意,访问设置面板需要授权,且访问组织设置面板的用户角色必须至少为该组织的管理员。

Webhooks 编辑器

要检查 Webhooks,您可以使用诸如 https://webhook-test.com 等流行的在线服务。

Webhook 负载

Webhook 事件以 HTTP POST 请求的 JSON 负载形式传递。

示例负载

{
  "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 响应才视为成功投递
  • 失败的投递会自动每小时重试一次
  • 事件可能会被投递多次;消费者应实现幂等处理

典型使用场景

  • 自动将 SonarQube 发现摄取到内部安全仪表板
  • 当质量门未通过时触发合规工作流
  • 将安全报告归档以备审计和供应商风险审查
  • 保持第三方系统同步最新的代码安全姿态

另请参见:

相关文章

什么是安全报告?

安全报告仓库

如何配置安全报告

到顶部
选择语言