API a Webhooky pre Správy SonarQube

Tento článok popisuje, ako programovo pristupovať k bezpečnostným správam SonarQube uloženým v platforme Procurize. Pokrýva REST API na výpis a načítanie správ, sťahovanie archívov správ a prihlásenie na notifikácie webhookov, keď sú nové správy nahrávané.

Prehľad

Podmodul SonarQube Reports umožňuje organizáciám centrálne ukladať a spravovať bezpečnostné a kvalitatívne správy kódu generované SonarQube. Platforma Procurize tieto údaje sprístupňuje prostredníctvom:

  • REST API na získavanie metadát o uložených správach
  • Koncového bodu na sťahovanie artefaktov správ ako ZIP archívy
  • Webhookov pre takmer okamžité notifikácie, keď sú k dispozícii nové správy

Tieto možnosti umožňujú integrácie s CI/CD pipelineami, systémami GRC, internými dashboardmi a nástrojmi tretích strán na riadenie rizík.

Autentifikácia a autorizácia

Všetky API požiadavky popísané v tomto článku nevyžadujú autentifikáciu.

ID organizácie

ID organizácie je potrebné pre všetky požiadavky popísané tu.
Môžete ho nájsť v paneli nastavení organizácie na https://dashboard.procurize.ai.
Upozorňujeme, že prístup do panelu nastavení vyžaduje autorizáciu a prístup do panelu nastavení organizácie vyžaduje používateľskú rolu minimálne Administrátor v danej organizácii.

Tlačidlo Kopírovať ID

Základná URL

Všetky koncové body REST API sú dostupné pod nasledujúcou základnou URL:

https://api.procurize.com

SonarQube Reports REST API

Zoznam správ

Získava stránkovaný zoznam bezpečnostných správ SonarQube uložených v platforme.

Endpoint

GET /security/report/list

Parametre dotazu

  • org (povinné): ID organizácie.
  • version (voliteľné): Presná verzia produktu v semantickom formáte verzií.
  • minver (voliteľné): Minimálna verzia produktu v semantickom formáte verzií.
  • maxver (voliteľné): Maximálna verzia produktu v semantickom formáte verzií.

Upozorňujeme, že aspoň jeden z parametrov version, minver alebo maxver je pre požiadavku povinný.

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"
    }
  ]
}

Stiahnutie archívu správy

Stiahne ZIP archív obsahujúci kompletné artefakty správ SonarQube. Archív obsahuje HTML a PDF správy.

Endpoint

GET /security/report/files
  • org (povinné): ID organizácie.
  • reports (povinné): Pole ID správ.

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
  • Telo odpovede obsahuje binárny ZIP súbor

Klienti by mali streamovať odpoveď a uložiť ju na disk.

Spracovanie chýb

API používa štandardné HTTP stavové kódy.

  • 200 OK: Požiadavka úspešná
  • 204 No Content: Správa neexistuje
  • 400 Bad Request: Neplatné parametre alebo nesprávna požiadavka
  • 500 Internal Server Error: Neočakávaná chyba servera

Chybové odpovede obsahujú strojovo čitateľný kód chyby a čitateľnú správu pre ľudí.

Webhooky

Webhooky Procurize umožňujú externým systémom dostávať notifikácie, keď sú nové správy SonarQube nahrávané alebo aktualizované.

Konfigurácia webhookov

Webhooky môžu byť pridané alebo upravené v paneli nastavení organizácie, v sekcii Security reports na https://dashboard.procurize.ai.
Upozorňujeme, že prístup do panelu nastavení vyžaduje autorizáciu a prístup do panelu nastavení organizácie vyžaduje používateľskú rolu minimálne Administrátor v danej organizácii.

Editor webhookov

Pre testovanie webhookov môžete použiť populárne online služby, ako je https://webhook-test.com

Payload webhooku

Udalosti webhooku sú doručované ako HTTP POST požiadavky s JSON payloadom.

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"
    }
  ]
}

Bezpečnosť webhooku

Pre zabezpečenie pravosti požiadavky webhooku obsahujú hlavičku podpisu vygenerovanú pomocou zdieľaného tajného kľúča.

  • Podpis je vypočítaný pomocou HMAC-SHA256
  • Klienti by mali overiť podpis pred spracovaním payloadu

Tým sa zabráni neautorizovaným alebo podvrhnutým doručeniam webhookov.

Doručenie a opakované pokusy

  • Webhooky očakávajú odpoveď 2xx, aby boli považované za úspešne doručené
  • Neúspešné doručenia sú automaticky opakované každú hodinu.
  • Udalosti môžu byť doručené viackrát; spotrebitelia by mali implementovať idempotentné spracovanie

Typické použitia

  • Automaticky importovať nálezy SonarQube do interných bezpečnostných dashboardov
  • Spúšťať pracovné postupy súladu, keď kvalitatívne brány zlyhajú
  • Archivovať bezpečnostné správy pre audity a revízie rizík dodávateľov
  • Udržiavať systémy tretích strán synchronizované s najnovším stavom bezpečnosti kódu
na vrchol
Vybrať jazyk