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.

Kopie‑ID‑Schaltfläche

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 erfolgreich
  • 204 No Content: Bericht existiert nicht
  • 400 Bad Request: Ungültige Parameter oder fehlerhafte Anfrage
  • 500 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.

Webhook‑Editor

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 Dritt­systemen mit dem neuesten Code‑Sicherheits‑Posture
nach oben
Sprache auswählen