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ą.
