API zpráv SonarQube a webhooky

Tento článek popisuje, jak programaticky přistupovat k bezpečnostním zprávám SonarQube uloženým na platformě Procurize. Pokrývá REST API pro výpis a získávání zpráv, stahování archivů zpráv a přihlášení k webhookovým notifikacím, když jsou nové zprávy ingestovány.

Přehled

Podmodul SonarQube Reports umožňuje organizacím centrálně ukládat a spravovat bezpečnostní a kvalitativní zprávy generované SonarQube. Platforma Procurize zpřístupňuje tato data prostřednictvím:

  • REST API pro získávání metadat o uložených zprávách
  • Koncového bodu pro stahování artefaktů zpráv ve formátu ZIP
  • Webhooků pro téměř okamžitá oznámení, když jsou nové zprávy k dispozici

Tyto možnosti umožňují integraci s CI/CD pipeline, GRC systémy, interními dashboardy i nástroji pro řízení rizik třetích stran.

Autentizace a autorizace

Všechny požadavky API popsané v tomto článku nevyžadují autentizaci.

ID organizace

ID organizace je vyžadováno pro všechny požadavky uvedené zde.
Najdete jej v nastavení organizace na https://dashboard.procurize.ai.
Upozorňujeme, že přístup k nastavení vyžaduje oprávnění a uživatelskou roli alespoň Administrátor v dané organizaci.

Tlačítko Kopírovat ID

Základní URL

Všechny koncové body REST API jsou dostupné pod následující základní URL:

https://api.procurize.com

SonarQube Reports REST API

Výpis zpráv

Vrací stránkovaný seznam bezpečnostních zpráv SonarQube uložených v platformě.

Koncový bod

GET /security/report/list

Parametry dotazu

  • org (požadováno): ID organizace.
  • version (volitelně): Přesná verze produktu ve formátu Semantic Versioning.
  • minver (volitelně): Minimální verze produktu ve formátu Semantic Versioning.
  • maxver (volitelně): Maximální verze produktu ve formátu Semantic Versioning.

Upozorňujeme, že alespoň jeden z parametrů version, minver nebo maxver je pro požadavek povinný.

Příklad požadavku

curl "https://api.procurize.com/security/report/list?org=00000000-0000-0000-0000-000000000001&version=1.0"

Příklad odpovědi

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

Stažení archivu zprávy

Stáhne ZIP archiv obsahující kompletní artefakty zprávy SonarQube. Archiv zahrnuje HTML i PDF zprávy.

Koncový bod

GET /security/report/files
  • org (požadováno): ID organizace.
  • reports (požadováno): Pole ID zpráv.

Příklad požadavku

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"

Odpověď

  • Content-Type: application/zip
  • Tělo odpovědi obsahuje binární ZIP soubor

Klienti by měli streamovat odpověď a uložit ji na disk.

Zpracování chyb

API používá standardní HTTP stavové kódy.

  • 200 OK: Požadavek úspěšný
  • 204 No Content: Zpráva neexistuje
  • 400 Bad Request: Neplatné parametry nebo špatně vytvořený požadavek
  • 500 Internal Server Error: Neočekávaná chyba serveru

Chybové odpovědi obsahují strojově čitelný kód chyby a lidsky čitelnou zprávu.

Webhooky

Webhooky Procurize umožňují externím systémům přijímat notifikace, když jsou ingestovány nebo aktualizovány nové zprávy SonarQube.

Konfigurace webhooků

Webhooky lze přidat nebo upravit v nastavení organizace, sekce Security reports na https://dashboard.procurize.ai.
Upozorňujeme, že přístup k nastavení vyžaduje autorizaci a rolí alespoň Administrátor.

Editor webhooků

Pro testování webhooků můžete použít populární online služby, např. https://webhook-test.com

Payload webhooku

Události webhooku jsou doručovány jako HTTP POST požadavky s JSON payloadem.

Ukázkový 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čnost webhooku

Pro zajištění pravosti obsahují požadavky webhooku podpisový header generovaný pomocí sdíleného tajemství.

  • Podpis je vypočítán pomocí HMAC-SHA256
  • Klienti by měli podpis ověřit před zpracováním payloadu

Tím se zabrání neautorizovaným nebo podvrženým doručením webhooků.

Doručování a opakování

  • Webhooky očekávají odpověď 2xx, aby byly považovány za úspěšně doručené
  • Selhání se automaticky opakují každou hodinu.
  • Události mohou být doručeny vícekrát; spotřebitelé by měli implementovat idempotentní zpracování

Typické případy použití

  • Automatické ingestování zjištění SonarQube do interních bezpečnostních dashboardů
  • Spouštění compliance workflow při selhání quality gates
  • Archivace bezpečnostních zpráv pro audity a revize rizik dodavatelů
  • Udržování synchronizace třetích stran s nejnovější stavbou bezpečnosti kódu
nahoru
Vyberte jazyk