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.

Kopieer ID knop

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 geslaagd
  • 204 No Content: Rapport bestaat niet
  • 400 Bad Request: Ongeldige parameters of onjuist verzoek
  • 500 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.

Webhooks-editor

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
Naar boven
Selecteer taal