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.

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 neexistuje400 Bad Request: Neplatné parametre alebo nesprávna požiadavka500 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.

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
