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 indstillingspanelhttps://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.

Kopier ID‑knap

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 lykkedes
  • 204 No Content: Rapporten findes ikke
  • 400 Bad Request: Ugyldige parametre eller fejlagtig anmodning
  • 500 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 reportshttps://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.

Webhooks‑editor

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
til toppen
Vælg sprog