SonarQube-rapporter API og Webhooks
Denne artikel beskriver, hvordan man programmatisk får adgang til SonarQube‑sikkerhedsrapporter gemt i Procurize‑platformen. Den dækker REST‑API‑et for at liste og hente rapporter, downloade rapportarkiver og abonnere på webhook‑meddelelser, når nye rapporter indlæses.
Oversigt
SonarQube‑rapporter‑submodulet giver organisationer mulighed for centralt at gemme og håndtere sikkerheds‑ og kodekvalitetsrapporter genereret af SonarQube. Procurize‑platformen eksponerer disse data gennem:
- Et REST‑API til at hente metadata om lagrede rapporter
- Et endpoint til at downloade rapportartefakter som ZIP‑arkiver
- Webhooks til næsten real‑time meddelelser, når nye rapporter bliver tilgængelige
Disse funktioner muliggør integrationer med CI/CD‑pipelines, GRC‑systemer, interne dashboards og tredjeparts‑risikostyringsværktøjer.
Godkendelse og autorisation
Alle API‑anmodninger beskrevet i denne artikel kræver ingen godkendelse.
Organisations‑ID
En organisations‑ID er påkrævet for alle anmodninger beskrevne her.
Du kan finde den i organisationens indstillingspanel på https://dashboard.procurize.ai.
Bemærk, at adgang til indstillingspanelet kræver autorisation, og at adgang til organisationens indstillingspanel kræver en brugerrolle på mindst Administrator i den pågældende organisation.

Basis‑URL
Alle REST‑API‑endpoints betjenes under følgende basis‑URL:
https://api.procurize.com
SonarQube‑rapporter REST‑API
Liste over rapporter
Henter en pagineret liste over SonarQube‑sikkerhedsrapporter gemt i platformen.
Endepunkt
GET /security/report/list
Query‑parametre
org(required): Organisations‑ID.version(optional): Den præcise version af produkterne i formatet Semantic Versioning.minver(optional): Minimumsversionen af produkterne i formatet Semantic Versioning.maxver(optional): Maksimumsversionen af produkterne i formatet Semantic Versioning.
Bemærk, at mindst én af parametrene version, minver eller maxver er påkrævet for anmodningen.
Anmodningseksempel
curl "https://api.procurize.com/security/report/list?org=00000000-0000-0000-0000-000000000001&version=1.0"
Svar‑eksempel
{
"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"
}
]
}
Download rapportarkiv
Downloader et ZIP‑arkiv indeholdende de fulde SonarQube‑rapportartefakter. Arkivet indeholder HTML‑ og PDF‑rapporter.
Endepunkt
GET /security/report/files
org(required): Organisations‑ID.reports(required): Array af rapport‑ID’er.
Anmodningseksempel
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"
Svar
- Content-Type:
application/zip - Svarets krop indeholder den binære ZIP‑fil
Klienter bør streame svaret og gemme det på disk.
Fejlhåndtering
API‑et bruger standard HTTP‑statuskoder.
200 OK: Anmodning lykkedes204 No Content: Rapporten findes ikke400 Bad Request: Ugyldige parametre eller fejlagtig anmodning500 Internal Server Error: Uventet serverfejl
Fejlsvar indeholder en maskin‑læselig fejlkode og en menneske‑læselig besked.
Webhooks
Procurize‑webhooks giver eksterne systemer mulighed for at modtage meddelelser, når nye SonarQube‑rapporter indlæses eller opdateres.
Konfiguration af webhooks
Webhooks kan tilføjes eller redigeres i organisationens indstillingspanel, sektionen Security reports på https://dashboard.procurize.ai.
Bemærk, at adgang til indstillingspanelet kræver autorisation, og at adgang til organisationens indstillingspanel kræver en brugerrolle på mindst Administrator i den pågældende organisation.

For at teste webhooks kan du benytte populære online‑tjenester såsom https://webhook-test.com
Webhook‑payload
Webhook‑begivenheder leveres som HTTP POST‑anmodninger med en JSON‑payload.
Eksempel‑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‑sikkerhed
For at sikre ægthed inkluderer webhook‑anmodninger en signatur‑header genereret med en delt hemmelighed.
- Signaturen beregnes med HMAC‑SHA256
- Klienter skal verificere signaturen, inden payloaden behandles
Dette forhindrer uautoriserede eller forfalskede webhook‑leverancer.
Levering og genforsøg
- Webhooks forventer et
2xx‑svar for at blive betragtet som leveret korrekt - Mislykkede leverancer genforsøges automatisk hver time.
- Begivenheder kan leveres mere end én gang; forbrugere bør implementere idempotent behandling
Typiske anvendelsestilfælde
- Automatisk indtagelse af SonarQube‑fund i interne sikkerhedsdashboards
- Udløb af compliance‑arbejdsgange, når kvalitets‑gate‑kriterier ikke opfyldes
- Arkivering af sikkerhedsrapporter til revisioner og leverandørrisikovurderinger
- Synkronisering af tredjepartssystemer med den seneste kode‑sikkerhedsstatus
