SonarQube Reporting Webhooks
Learn how SonarQube webhooks work in Procurize AI, including setup, payload structure, security validation, and retry behavior.
Overview
Procurize webhooks allow external systems to receive notifications when new SonarQube reports are ingested or updated.
Configuring webhooks
Webhooks can be added or edited it in the Organization’s settings panel, Security reports section at https://dashboard.procurize.ai. Please note that access to the settings panel requires authorization, and access to the organization’s settings panel requires a user role of at least Administrator in that organization.

To check webhooks, you can use popular online services such as https://webhook-test.com
Webhook Payload
Webhook events are delivered as HTTP POST requests with a JSON payload.
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 Security
To ensure authenticity, webhook requests include a signature header generated using a shared secret.
- The signature is calculated using HMAC-SHA256
- Clients should verify the signature before processing the payload
This prevents unauthorized or spoofed webhook deliveries.
Delivery and Retries
- Webhooks expect a
2xxresponse to be considered successfully delivered - Failed deliveries are automatically retried hourly.
- Events may be delivered more than once; consumers should implement idempotent processing
Typical Use Cases
- Automatically ingest SonarQube findings into internal security dashboards
- Trigger compliance workflows when quality gates fail
- Archive security reports for audits and vendor risk reviews
- Keep third-party systems synchronized with the latest code security posture
