SonarQube Rapporten API en Webhooks
Dit artikel beschrijft hoe je programmatisch toegang krijgt tot SonarQube-beveiligingsrapporten die zijn opgeslagen op het Procurize-platform. Het behandelt de REST API voor het opsommen en ophalen van rapporten, het downloaden van rapportarchieven, en het abonneren op webhookmeldingen wanneer nieuwe rapporten worden opgenomen.
Overzicht
De SonarQube Rapporten submodule stelt organisaties in staat om beveiligings- en codekwaliteitsrapporten die door SonarQube zijn gegenereerd, centraal op te slaan en te beheren. Het Procurize-platform maakt deze gegevens beschikbaar via:
- Een REST API voor het ophalen van metadata over opgeslagen rapporten
- Een endpoint voor het downloaden van rapportartefacten als ZIP-archieven
- Webhooks voor bijna realtime meldingen wanneer nieuwe rapporten beschikbaar komen
Deze mogelijkheden maken integraties mogelijk met CI/CD-pijplijnen, GRC-systemen, interne dashboards en risicomanagementtools van derden.
Authenticatie en Autorisatie
Alle API-verzoeken die in dit artikel worden beschreven, vereisen geen authenticatie.
Organisatie-ID
Een organisatie-ID is vereist voor alle hier beschreven verzoeken. Je kunt deze vinden in het instellingenpaneel van de organisatie op https://dashboard.procurize.ai. Houd er rekening mee dat toegang tot het instellingenpaneel autorisatie vereist, en dat toegang tot het instellingenpaneel van de organisatie een gebruikersrol van ten minste Administrator in die organisatie vereist.

Basis-URL
Alle REST API-endpoints worden bediend onder de volgende basis-URL:
https://api.procurize.com
SonarQube Rapporten REST API
Lijst rapporten
Haalt een gepagineerde lijst op van SonarQube-beveiligingsrapporten die in het platform zijn opgeslagen.
Endpoint
GET /security/report/list
Query Parameters
org(verplicht): Organisatie-ID.version(optioneel): De exacte versie van de producten in het Semantic Versioning-formaat.minver(optioneel): De minimale versie van de producten in het Semantic Versioning-formaat.maxver(optioneel): De maximale versie van de producten in het Semantic Versioning-formaat.
Houd er rekening mee dat ten minste één van de parameters version, minver of maxver vereist is voor het verzoek.
Request Example
curl "https://api.procurize.com/security/report/list?org=00000000-0000-0000-0000-000000000001&version=1.0"
Response Example
{
"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"
}
]
}
Rapportarchief downloaden
Downloadt een ZIP-archief dat de volledige SonarQube-rapportartefacten bevat. Het archief omvat HTML- en PDF-rapporten.
Endpoint
GET /security/report/files
org(verplicht): Organisatie-ID.reports(verplicht): Array van rapport-ID’s.
Request Example
curl "https://api.procurize.com/security/report/files?org=00000000-0000-0000-0000-000000000001&reports=00000000-0000-0000-0000-000000000002&reports=00000000-0000-0000-0000-000000000003"
Response
- Content-Type:
application/zip - De responsinhoud bevat het binaire ZIP-bestand
Clients moeten de respons streamen en opslaan op schijf.
Foutafhandeling
De API gebruikt standaard HTTP-statuscodes.
200 OK: Verzoek geslaagd204 No Content: Rapport bestaat niet400 Bad Request: Ongeldige parameters of onjuist verzoek500 Internal Server Error: Onverwachte serverfout
Foutresponsen bevatten een machinale foutcode en een menselijk leesbaar bericht.
Webhooks
Procurize-webhooks stellen externe systemen in staat meldingen te ontvangen wanneer nieuwe SonarQube-rapporten worden opgenomen of bijgewerkt.
Webhooks configureren
Webhooks kunnen worden toegevoegd of bewerkt in het instellingenpaneel van de organisatie, onder de sectie Beveiligingsrapporten op https://dashboard.procurize.ai. Houd er rekening mee dat toegang tot het instellingenpaneel autorisatie vereist, en dat toegang tot het instellingenpaneel van de organisatie een gebruikersrol van ten minste Administrator in die organisatie vereist.

Om webhooks te testen, kun je populaire online services gebruiken zoals https://webhook-test.com
Webhook Payload
Webhook‑gebeurtenissen worden afgeleverd als HTTP POST‑verzoeken met een 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 Beveiliging
Om authenticiteit te waarborgen, bevatten webhook‑verzoeken een handtekeningheader die is gegenereerd met een gedeeld geheim.
- De handtekening wordt berekend met HMAC‑SHA256
- Clients moeten de handtekening verifiëren voordat ze de payload verwerken
Dit voorkomt ongeautoriseerde of gespoofde webhook‑leveringen.
Levering en herpogingen
- Webhooks verwachten een
2xx-respons om als succesvol afgeleverd te worden beschouwd - Mislukte leveringen worden elk uur automatisch opnieuw geprobeerd.
- Gebeurtenissen kunnen meer dan eens worden afgeleverd; consumenten moeten idempotente verwerking implementeren
Typische gebruikssituaties
- Automatisch SonarQube-bevindingen opnemen in interne beveiligingsdashboards
- Compliance‑workflows triggeren wanneer kwaliteitsgateways falen
- Beveiligingsrapporten archiveren voor audits en beoordelingen van leveranciersrisico’s
- Derden systemen gesynchroniseerd houden met de nieuwste code‑beveiligingsstatus
