SonarQube aruannete API#
See artikkel kirjeldab, kuidas programmiliselt pääseda Procurize platvormil salvestatud SonarQube turvaraportidele. See hõlmab REST API-d aruannete loetlemiseks ja nende allalaadimiseks HTML-, PDF- ja ZIP-vormingus.
Ülevaade#
SonarQube aruannete alammoodul võimaldab organisatsioonidel keskne salvestada ja hallata SonarQube’i genereeritud turva- ja koodikvaliteedi aruandeid. Procurize platvorm avaldab need andmed avaliku REST API kaudu, mis võimaldab teil:
- Loetleda aruannete metaandmeid organisatsiooni, projektigrupi või projekti tasandil
- Laadida üksik aruande HTML-, PDF- või ZIP-vormingus
- Laadida valitud aruanded ZIP-arhiivina
- Laadida kõik projekti või projektigrupi aruanded ZIP-arhiivina
- Tuua otse SonarQube’i teenusest uusimad OWASP Top 10 ja CWE Top 25 aruanded
Need võimalused võimaldavad integratsioone CI/CD torujuhtmetega, GRC süsteemidega, sisemiste armatuurlaudadega ja kolmandate osapoolte riskijuhtimise tööriistadega.
Lõpppunktid#
| Lõpppunkt | Meetod | Eesmärk |
|---|---|---|
/security/report/list | GET | Loetleb aruannete metaandmeid valitud ulatuse ja versiooni kohta. |
/security/report/files | GET | Laadib valitud aruanded ZIP-arhiivina. |
/security/report/html | GET | Tagastab üksiku aruande HTML-ina. |
/security/report/pdf | GET | Tagastab üksiku aruande PDF-ina. |
/security/report/zip | GET | Tagastab üksiku aruande ZIP-arhiivina. |
/security/report/project-files | GET | Laadib projekti kõik aruanded ZIP-arhiivina. |
/security/report/directory-files | GET | Laadib projektigrupi (kataloogi) kõik aruanded ZIP-arhiivina. |
/security/reports/fetch | POST | Toob uusimad aruanded SonarQube’i teenusest. |
Autentimine ja autoriseerimine#
Selles artiklis kirjeldatud aruannete loetelu- ja allalaadimis-lõpppunktid ei nõua autentimist.
POST /security/reports/fetch lõppunkt nõuab autentimist API võtmega — vt API võtmed.
Organisatsiooni ID#
Enamikus siin kirjeldatud päringutes on vajalik organisatsiooni identifikaator. Võite anda kas organisatsiooni ID (UUID) või selle aliase — vt Identifikaatorid ja aliased. Leiate selle organisatsiooni seadete paneelist aadressil https://dashboard.procurize.ai. Pange tähele, et seadete paneelile juurdepääs nõuab volitust ning organisatsiooni seadete paneelile juurdepääs vajab vähemalt administraatori rolli selles organisatsioonis.

Identifikaatorid ja aliased#
Ulatusparameetrid aktsepteerivad kas üksuse ID (UUID) või inimloetavat aliast. Aliased muudavad päringud loetavamaks ja on keskkondade vahel stabiilsed.
| Parameeter | Aktsepteerib | Näidisalias |
|---|---|---|
org | Organisatsiooni ID või alias | aspose, groupdocs |
directory | Kataloogi (projektigrupi) ID või alias | aspose-imaging, groupdocs-annotation |
project | Projekti ID või alias | aspose-imaging-net, groupdocs-annotation-java |
Näiteks järgmised kaks päringut on ekvivalentne:
curl "https://api.procurize.com/security/report/list?org=00000000-0000-0000-0000-000000000001&version=1.0"
curl "https://api.procurize.com/security/report/list?org=aspose&version=1.0"
Märkus: Aliaseid ei toetata
idparameetri puhul massilise allalaadimise lõpppunktides. Passige kataloogi või projekti UUIDGET /security/report/project-filesjaGET /security/report/directory-fileslõpppunktidele.
Baas-URL#
Kõik REST API lõpppunktid asuvad järgmise baasi all:
https://api.procurize.com
SonarQube aruannete REST API#
Aruannete loetelu#
Tagastab valitud ulatuse ja versiooni jaoks saadaval olevad turuaruanded, ilma nende failisisu. Kasutage seda lõpppunkti, et leida aruande ID-sid, mida saab edasi allalaadimis-lõpppunktidele edastada.
Lõpppunkt
GET /security/report/list
Päringu parameetrid
org(valikuline): Organisatsiooni ID või alias (ntasposevõigroupdocs). Kõige laiem ulatus.directory(valikuline): Kataloogi (projektigrupi) ID või alias (ntaspose-imagingvõigroupdocs-annotation). Kitsam ulatus.project(valikuline): Projekti ID või alias (ntaspose-imaging-netvõigroupdocs-annotation-java). Kitsaim ulatus.version(valikuline): Täpne projekti versioon.minver(valikuline): Minimaalne projekti versioon.maxver(valikuline): Maksimaalne projekti versioon.
Vähemalt üks ulatusparameetritest org, directory või project on kohustuslik. Ulatused prioriseeritakse järgmiselt: kui on määratud project, otsitakse ainult seda projekti; muul juhul, kui on määratud directory, otsitakse kogu projektigrupist; muul juhul otsitakse kogu organisatsioonist (org). Kui org on määratud koos project või directory parameetriga, kontrollitakse täiendavalt, et siht kuuluks antud organisatsiooni.
Vähemalt üks parameetritest version, minver või maxver on kohustuslik. Kui on määratud version, ignoreeritakse minver ja maxver.
Päringu näide
curl "https://api.procurize.com/security/report/list?org=aspose&version=1.0"
Ulatus projektigrupile või projektile aliasiga:
curl "https://api.procurize.com/security/report/list?directory=aspose-imaging&minver=1.0&maxver=2.0"
curl "https://api.procurize.com/security/report/list?project=aspose-imaging-net&version=1.0"
Vastuse näide
{
"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"
}
]
}
Vastuse väljad
organizationId: Organisatsioon, millele aruanded kuuluvad.reports[].id: Unikaalne aruande ID. Passige see väärtus allalaadimis-lõpppunktidele.reports[].projectName: Toote kuvatav nimi.reports[].projectVersion: Toote versioon.reports[].reportType: Aruande tüüp (OWASP Top 10võiCWE Top 25).reports[].reportVersion: Aruande standardi versioon (aasta).reports[].date: Kuupäev, mil aruanne genereeriti.reports[].uploadDate: Kuupäev, mil aruanne laaditi üles Procurize’ile.reports[].vulnerabilitiesCount: Leitud haavatavuste arv.reports[].securityRating: Üldine turvarating (A–E, kusAon parim).
Aruannete allalaadimine ID järgi#
Laadib ZIP-arhiivi, mis sisaldab valitud aruandeid. Iga aruanne on kaasatud nii HTML- kui PDF-vormingus.
Lõpppunkt
GET /security/report/files
Päringu parameetrid
org(kohustuslik): Organisatsiooni ID või alias (ntasposevõigroupdocs).reports(kohustuslik): Lisatavad aruande ID-d. Parameetrit võib korrata, et lisada mitu aruannet.
Päringu näide
curl "https://api.procurize.com/security/report/files?org=aspose&reports=00000000-0000-0000-0000-000000000002&reports=00000000-0000-0000-0000-000000000003" -o reports.zip
Vastus
- Sisu tüüp:
application/zip - Vastuse keha sisaldab binaarset ZIP-faili.
Kliendid peaksid voogesitama vastuse ja salvestama selle kettale.
Ühe aruande töötlemine#
Lõppunktid /security/report/html, /security/report/pdf ja /security/report/zip tagastavad ühe konkreetse aruande ning jagavad samu valikureegleid.
Aruande valik#
Aruande tüüp ja versioon on alati nõutavad:
rt(kohustuslik): Aruande tüüp. Toetatud väärtused onOWASP Top 10jaCWE Top 25.rv(kohustuslik): Aruande versioon — standardi aasta, näiteks2025OWASP Top 10 või2024CWE Top 25.
Konkreetne aruanne valitakse seejärel ühe kahest viisist:
- Aruande ID järgi — passige
id(aruande ID) koos kasproject(projekti ID või alias) võiorg(organisatsiooni ID või alias) parameetriga. Ärge passigeversionselles režiimis. - Projekti versiooni järgi — passige
project(projekti ID või alias, ntaspose-imaging-netvõigroupdocs-annotation-java) javersion(projekti versioon). Parameetritorgselles režiimis ei kasutata.
Kui on määratud nii project kui ka org, ignoreeritakse org.
Hangi aruanne HTML-ina#
Renderdab ühe aruande HTML-leheküljena või tagastab selle allalaaditava HTML-failina.
Lõpppunkt
GET /security/report/html
Päringu parameetrid
rt(kohustuslik): Aruande tüüp.rv(kohustuslik): Aruande versioon.- Aruande valiku parameetrid: vt Aruande valik.
download(valikuline): Määratrue, et tagastada HTML failina (Content-Disposition: attachment). Kui parameeter on puudu võifalse, tagastatakse aruanne sisemiselt.
Päringu näide
curl "https://api.procurize.com/security/report/html?rt=OWASP+Top+10&rv=2025&id=00000000-0000-0000-0000-000000000004&project=aspose-imaging-net"
HTML-faili allalaadimiseks, mitte sisemiselt renderdamiseks:
curl "https://api.procurize.com/security/report/html?rt=OWASP+Top+10&rv=2025&project=aspose-imaging-net&version=1.0&download=true" -o report.html
Vastus
- Sisu tüüp:
text/html
Hangi aruanne PDF-ina#
Tagastab ühe aruande PDF-dokumendina.
Lõpppunkt
GET /security/report/pdf
Päringu parameetrid
rt(kohustuslik): Aruande tüüp.rv(kohustuslik): Aruande versioon.- Aruande valiku parameetrid: vt Aruande valik.
Päringu näide
curl "https://api.procurize.com/security/report/pdf?rt=CWE+Top+25&rv=2024&project=aspose-imaging-net&version=1.0" -o report.pdf
Vastus
- Sisu tüüp:
application/pdf
Hangi aruanne ZIP-ina#
Tagastab ühe aruande ZIP-arhiivina, mis sisaldab nii HTML- kui PDF-versioone.
Lõpppunkt
GET /security/report/zip
Päringu parameetrid
rt(kohustuslik): Aruande tüüp.rv(kohustuslik): Aruande versioon.- Aruande valiku parameetrid: vt Aruande valik.
Päringu näide
curl "https://api.procurize.com/security/report/zip?rt=CWE+Top+25&rv=2024&id=00000000-0000-0000-0000-000000000004&org=groupdocs" -o report.zip
Vastus
- Sisu tüüp:
application/zip
Kõikide aruannete allalaadimine projektist#
Laadib ZIP-arhiivi, mis sisaldab kõiki määratud projekti aruandeid, nii HTML- kui PDF-vormingus.
Lõpppunkt
GET /security/report/project-files
Päringu parameetrid
id(kohustuslik): Projekti ID. Aliaseid ei toetata; passige projekti UUID.rt(valikuline): Filtreeri aruande tüübi järgi. Toetatud väärtused onOWASP Top 10jaCWE Top 25.rv(valikuline): Filtreeri aruande versiooni (aasta) järgi.version(valikuline): Filtreeri projekti versiooni järgi.
Kui filtreid ei ole määratud, kaasatakse projekti kõik aruanded. Filtreid saab kombineerida ja need rakendatakse sõltumatult.
Päringu näide
curl "https://api.procurize.com/security/report/project-files?id=00000000-0000-0000-0000-000000000005" -o project-reports.zip
Vastus
- Sisu tüüp:
application/zip
Kõikide aruannete allalaadimine projektigrupist#
Laadib ZIP-arhiivi, mis sisaldab kõigi projektide aruandeid määratud kataloogis (projektigrupis), nii HTML- kui PDF-vormingus.
Lõpppunkt
GET /security/report/directory-files
Päringu parameetrid
id(kohustuslik): Kataloogi (projektigrupi) ID. Aliaseid ei toetata; passige kataloogi UUID.rt(valikuline): Filtreeri aruande tüübi järgi. Toetatud väärtused onOWASP Top 10jaCWE Top 25.rv(valikuline): Filtreeri aruande versiooni (aasta) järgi.version(valikuline): Filtreeri projekti versiooni järgi.
Kui filtreid ei ole määratud, kaasatakse kataloogi (projektigrupi) kõik aruanded. Filtreid saab kombineerida ja need rakendatakse sõltumatult.
Päringu näide
curl "https://api.procurize.com/security/report/directory-files?id=00000000-0000-0000-0000-000000000006" -o directory-reports.zip
Vastus
- Sisu tüüp:
application/zip
Aruannete toomine SonarQube’ist#
Laadib SonarQube’i teenusest toote uusimad turuaruande andmed Procurize’ile. Teenus võtab SonarQube’ist uusimad probleemid, teisendab need JSON-representatsioonideks OWASP Top 10 ja CWE Top 25 aruannete uusimatest versioonidest ning tagastab need vastuses.
Lõpppunkt
POST /security/reports/fetch
Autentimine
See lõpppunkt nõuab API võtit, mis edastatakse päises X-API-Key. Võtmete loomise ja kasutamise üksikasjad on kirjeldatud API võtmed.
Päringu parameetrid
SonarQube’i allikas valitakse ühelt kahest viisist:
- Projekti järgi — passige
project(projekti ID või alias — vt Identifikaatorid ja aliased). Ärge passigeurlegakey. - SonarQube’i teenuse järgi — passige
url(SonarQube’i teenuse URL) jakey(SonarQube’i projekti võti) koos. Ärge passigeproject.
Päringu näide
Tooge aruanne projekti aliasi järgi:
curl -X POST "https://api.procurize.com/security/reports/fetch?project=aspose-imaging-net" \
-H "X-API-Key: YOUR_API_TOKEN"
Tooge aruanne otse SonarQube’i teenusest:
curl -X POST "https://api.procurize.com/security/reports/fetch?url=https://sonarqube.example.com&key=my-project-key" \
-H "X-API-Key: YOUR_API_TOKEN"
Vastuse näide
{
"Owasp10_2025": {
"TOTAL_SECURITY_RATING": "A",
"TOTAL_COUNT": 0,
...
},
"Cwe25_2025": {
"TOTAL_SECURITY_RATING": "A",
"TOTAL_COUNT": 0,
...
}
}
Vastus on kasulik vabastuse ehitusliinides, et otsustada, kas peatada ehitus, kui haavatavusi on tuvastatud avalikes turuaruande vormingutes.
Märkused
- Aruande üleslaadimine nõuab isiklikku luba tootele, millele aruanded kuuluvad. Kui teil seda luba pole, saatke siiski päring: platvorm tagastab
403 Forbiddenja teavitab automaatselt platvormi administraatoreid, kes taotluse läbi vaatavad ja teavitavad teid otsusest. - Mitte iga SonarQube’i teenus ei pruugi olla registreeritud Procurize platvormil. Uue teenuse registreerimiseks võtke ühendust oma platvormi administraatoriga; selle teenuse jaoks on vajalik administraatori token.
Vigade käsitlemine#
API kasutab standardseid HTTP staatuskoode.
200 OK: Päring edukas204 No Content: Aruannet ei eksisteeri400 Bad Request: Vigased parameetrid või valesti vormistatud päring401 Unauthorized: Puuduv või kehtetu API võti403 Forbidden: Juurdepääs keelatud (nt puudub luba tootele)500 Internal Server Error: Ootamatu serveri viga
Vigaste vastuste puhul on kaasatud masinloetav veakood ja inimloetav sõnum.
