SonarQube-Berichte API und Webhooks
Dieser Artikel beschreibt, wie man programmgesteuert auf SonarQube‑Sicherheitsberichte zugreift, die in der Procurize‑Plattform gespeichert sind. Er behandelt die REST‑API zum Auflisten und Abrufen von Berichten, das Herunterladen von Bericht‑Archiven und das Abonnieren von Webhook‑Benachrichtigungen, wenn neue Berichte ingestiert werden.
Überblick
Das SonarQube‑Berichte‑Untermodul ermöglicht es Organisationen, Sicherheits‑ und Code‑Qualitätsberichte, die von SonarQube erzeugt werden, zentral zu speichern und zu verwalten. Die Procurize‑Plattform stellt diese Daten über:
- Eine REST‑API zum Abrufen von Metadaten zu gespeicherten Berichten
- Einen Endpunkt zum Herunterladen von Bericht‑Artefakten als ZIP‑Archive
- Webhooks für nahezu Echtzeit‑Benachrichtigungen, sobald neue Berichte verfügbar werden
bereit.
Diese Möglichkeiten unterstützen Integrationen in CI/CD‑Pipelines, GRC‑Systeme, interne Dashboards und Drittanbieter‑Risk‑Management‑Tools.
Authentifizierung und Autorisierung
Alle in diesem Artikel beschriebenen API‑Anfragen erfordern keine Authentifizierung.
Organisations‑ID
Eine Organisations‑ID ist für alle hier beschriebenen Anfragen erforderlich.
Sie finden sie im Einstellungsbereich Ihrer Organisation unter https://dashboard.procurize.ai.
Bitte beachten Sie, dass der Zugriff auf den Einstellungsbereich authorisiert sein muss und dass ein Benutzer mindestens die Rolle Administrator in dieser Organisation besitzen muss, um auf die Organisationseinstellungen zugreifen zu können.

Basis‑URL
Alle REST‑API‑Endpunkte werden unter folgender Basis‑URL bereitgestellt:
https://api.procurize.com
SonarQube‑Berichte REST API
Berichte auflisten
Ruft eine paginierte Liste von SonarQube‑Sicherheitsberichten ab, die in der Plattform gespeichert sind.
Endpunkt
GET /security/report/list
Abfrage‑Parameter
org(erforderlich): Organisations‑ID.version(optional): Die exakte Version der Produkte im Semantic‑Versioning‑Format.minver(optional): Die minimale Version der Produkte im Semantic‑Versioning‑Format.maxver(optional): Die maximale Version der Produkte im Semantic‑Versioning‑Format.
Bitte beachten Sie, dass mindestens einer der Parameter version, minver oder maxver für die Anfrage erforderlich ist.
Beispiel‑Anfrage
curl "https://api.procurize.com/security/report/list?org=00000000-0000-0000-0000-000000000001&version=1.0"
Beispiel‑Antwort
{
"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"
}
]
}
Bericht‑Archiv herunterladen
Lädt ein ZIP‑Archiv herunter, das die vollständigen SonarQube‑Bericht‑Artefakte enthält. Das Archiv umfasst HTML‑ und PDF‑Berichte.
Endpunkt
GET /security/report/files
org(erforderlich): Organisations‑ID.reports(erforderlich): Array von Bericht‑IDs.
Beispiel‑Anfrage
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"
Antwort
- Content‑Type:
application/zip - Der Antwort‑Body enthält die binäre ZIP‑Datei
Clients sollten die Antwort streamen und auf die Festplatte schreiben.
Fehlerbehandlung
Die API verwendet die üblichen HTTP‑Statuscodes.
200 OK: Anfrage erfolgreich204 No Content: Bericht existiert nicht400 Bad Request: Ungültige Parameter oder fehlerhafte Anfrage500 Internal Server Error: Unerwarteter Serverfehler
Fehlerantworten enthalten einen maschinenlesbaren Fehlercode und eine menschenlesbare Meldung.
Webhooks
Procurize‑Webhooks ermöglichen es externen Systemen, Benachrichtigungen zu erhalten, wenn neue SonarQube‑Berichte ingestiert oder aktualisiert werden.
Webhooks konfigurieren
Webhooks können im Einstellungsbereich Ihrer Organisation unter dem Abschnitt Sicherheitsberichte auf https://dashboard.procurize.ai hinzugefügt oder bearbeitet werden.
Bitte beachten Sie, dass der Zugriff auf den Einstellungsbereich authorisiert sein muss und dass ein Benutzer mindestens die Rolle Administrator in dieser Organisation besitzen muss, um Änderungen vorzunehmen.

Um Webhooks zu testen, können Sie beliebte Online‑Services wie https://webhook-test.com verwenden.
Webhook‑Payload
Webhook‑Ereignisse werden als HTTP‑POST‑Anfragen mit einem JSON‑Payload geliefert.
Beispiel‑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‑Sicherheit
Um die Authentizität zu gewährleisten, enthalten Webhook‑Anfragen einen Signatur‑Header, der mit einem gemeinsamen Geheimnis erzeugt wird.
- Die Signatur wird mittels HMAC‑SHA256 berechnet.
- Clients sollten die Signatur prüfen, bevor sie den Payload verarbeiten.
Damit wird verhindert, dass unautorisierte oder gefälschte Webhook‑Zustellungen erfolgen.
Zustellung und Wiederholungen
- Webhooks erwarten eine
2xx‑Antwort, um als erfolgreich zugestellt zu gelten. - Fehlgeschlagene Zustellungen werden stündlich automatisch erneut versucht.
- Ereignisse können mehrfach zugestellt werden; Verbraucher sollten eine idempotente Verarbeitung implementieren.
Typische Anwendungsfälle
- Automatisches Ingestieren von SonarQube‑Findings in interne Sicherheits‑Dashboards
- Auslösen von Compliance‑Workflows, wenn Qualitäts‑Gates fehlschlagen
- Archivieren von Sicherheitsberichten für Audits und Vendor‑Risk‑Reviews
- Synchronisieren von Drittsystemen mit dem neuesten Code‑Sicherheits‑Posture
