SonarQube ataskaitų API
Šis straipsnis aprašo, kaip programiškai pasiekti SonarQube saugumo ataskaitas, saugomas Procurize platformoje. Jame nagrinėjamas REST API, skirtas ataskaitų išvardijimui, gavimui ir jų archyvų atsisiuntimui.
Apžvalga
SonarQube ataskaitų submodulis leidžia organizacijoms centralizuotai saugoti ir tvarkyti saugumo bei kodo kokybės ataskaitas, sukurtas SonarQube. Procurize platforma suteikia prieigą prie šių duomenų per:
- REST API, skirta gauti metaduomenis apie saugomas ataskaitas
- Puslapį (endpoint) ataskaitų artefaktams atsisiųsti ZIP archyvu
Šios galimybės leidžia integracijas su CI/CD konvejais, GRC sistemomis, vidiniais prietaisų skydeliais ir trečiųjų šalių rizikos valdymo įrankiais.
Autentifikavimas ir autorizacija
Visi šiame straipsnyje aprašyti API užklausų nereikia autentifikacijos.
Organizacijos ID
Visoms čia aprašytoms užklausoms reikalingas organizacijos ID. Jį galite rasti organizacijos nustatymų skydelyje adresu https://dashboard.procurize.ai. Atkreipkite dėmesį, kad prieiga prie nustatymų skydelio reikalauja autorizacijos, o prieiga prie organizacijos nustatymų skydelio – vartotojo rolės, kuri bent jau yra Administratoriaus, toje organizacijoje.

Bazinis URL
Visi REST API galutiniai taškai yra pasiekiami per šį bazinį URL:
https://api.procurize.com
SonarQube ataskaitų REST API
Išvardyti ataskaitas
Gauna puslapiuotą SonarQube saugumo ataskaitų sąrašą, saugomų platformoje.
Endpoint
GET /security/report/list
Užklausos parametrai
org(būtina): Organizacijos ID.version(neprivaloma): Tikslus produktų versijos numeris semantinio versijavimo formatu.minver(neprivaloma): Mažiausia produktų versija semantinio versijavimo formatu.maxver(neprivaloma): Didžiausia produktų versija semantinio versijavimo formatu.
Atkreipkite dėmesį, kad bent vienas iš parametrų version, minver arba maxver yra privalomas užklausai.
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"
}
]
}
Atsisiųsti ataskaitų archyvą
Atsisiunčia ZIP archyvą, kuriame yra visi SonarQube ataskaitų artefaktai. Archyvas apima HTML ir PDF ataskaitas.
Endpoint
GET /security/report/files
org(būtina): Organizacijos ID.reports(būtina): Ataskaitų ID masyvas.
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 - Atsakymo kūnas turi binarinį ZIP failą
Klientai turėtų srauti atsakymą ir išsaugoti jį diske.
Klaidos tvarkymas
API naudoja standartinius HTTP būsenos kodus.
200 OK: Užklausa sėkminga204 No Content: Ataskaita neegzistuoja400 Bad Request: Netinkami parametrai arba neteisinga užklausa500 Internal Server Error: Netikėta serverio klaida
Klaidų atsakymai apima mašinų skaitomą klaidos kodą ir žmogaus skaitomą pranešimą.
