SonarQube jelentések API#
Ez a cikk leírja, hogyan lehet programozottan elérni a SonarQube biztonsági jelentéseket, amelyeket a Procurize platform tárol. Bemutatja a REST API-t a jelentések listázásához és letöltéséhez HTML, PDF és ZIP formátumban.
Áttekintés#
A SonarQube jelentések almodulja lehetővé teszi a szervezetek számára, hogy központilag tárolják és kezeljék a SonarQube által generált biztonsági és kódfelülvizsgálati jelentéseket. A Procurize platform nyilvános REST API-n keresztül teszi elérhetővé ezeket az adatokat, amely lehetővé teszi:
- Jelentés metaadatok listázása egy szervezet, projektcsoport vagy projekt számára
- Egyetlen jelentés letöltése HTML, PDF vagy ZIP formátumban
- Kiválasztott jelentések letöltése ZIP archívumként
- Egy projekt vagy projektcsoport összes jelentésének letöltése ZIP archívumként
- A legújabb OWASP Top 10 és CWE Top 25 jelentések lekérése közvetlenül egy SonarQube szolgáltatásból
E képességek integrációkat tesznek lehetővé CI/CD folyamatokkal, GRC rendszerekkel, belső műszerfalakkal és harmadik fél kockázatkezelő eszközökkel.
Végpontok#
| Végpont | Módszer | Cél |
|---|---|---|
/security/report/list | GET | Jelentés metaadatok listázása a kiválasztott hatókör és verzió szerint. |
/security/report/files | GET | A kiválasztott jelentések letöltése ZIP archívumként. |
/security/report/html | GET | Egyetlen jelentés lekérése HTML formátumban. |
/security/report/pdf | GET | Egyetlen jelentés lekérése PDF formátumban. |
/security/report/zip | GET | Egyetlen jelentés lekérése ZIP archívumként. |
/security/report/project-files | GET | Egy projekt összes jelentésének letöltése ZIP archívumként. |
/security/report/directory-files | GET | Egy projektcsoport (könyvtár) összes jelentésének letöltése ZIP archívumként. |
/security/reports/fetch | POST | A legújabb jelentések lekérése egy SonarQube szolgáltatásból. |
Hitelesítés és jogosultság#
Az ebben a cikkben leírt jelentéslistázó és letöltő végpontok nem igényelnek hitelesítést.
A POST /security/reports/fetch végpont API tokennel történő hitelesítést igényel – lásd API tokenek.
Szervezet azonosító#
A legtöbb itt leírt kéréshez szükség van egy szervezet azonosítóra. Megadhatja a szervezet azonosítóját (UUID) vagy annak aliasát – lásd Azonosítók és aliasok.
Megtalálja a beállítási panel-en a https://dashboard.procurize.ai oldalon.
Felhívjuk figyelmét, hogy a beállítási panel eléréséhez jogosultság szükséges, és a szervezet beállítási paneljéhez legalább Administrator szerepkörrel kell rendelkeznie az adott szervezetben.

Azonosítók és aliasok#
A hatókör paraméterek elfogadják az entitás azonosítóját (UUID) vagy egy ember által olvasható aliasát. Az aliasok megkönnyítik a kérések olvasását és környezetfüggetlenek.
| Paraméter | Elfogad | Példa aliasok |
|---|---|---|
org | Szervezet ID vagy alias | aspose, groupdocs |
directory | Könyvtár (projektcsoport) ID vagy alias | aspose-imaging, groupdocs-annotation |
project | Projekt ID vagy alias | aspose-imaging-net, groupdocs-annotation-java |
Például a következő két kérés ekvivalens:
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"
Megjegyzés: Az aliasok nem támogatottak a tömeges letöltés végpontok
idparaméterénél. Adja meg a könyvtár vagy projekt UUID-jét aGET /security/report/project-filesés aGET /security/report/directory-filesvégpontokhoz.
Alap URL#
Minden REST API végpont az alábbi alap URL alatt érhető el:
https://api.procurize.com
SonarQube jelentések REST API#
Jelentések listázása#
Visszaadja a kiválasztott hatókör és verzió számára elérhető biztonsági jelentéseket a fájl tartalom nélkül. Ezt a végpontot használja a jelentésazonosítók felfedezéséhez, amelyeket a letöltő végpontokhoz adhat meg.
Végpont
GET /security/report/list
Lekérdezési paraméterek
org(opcionális): Szervezet ID vagy alias (pl.asposevagygroupdocs). Legszélesebb hatókör.directory(opcionális): Könyvtár (projektcsoport) ID vagy alias (pl.aspose-imagingvagygroupdocs-annotation). Szűkebb hatókör.project(opcionális): Projekt ID vagy alias (pl.aspose-imaging-netvagygroupdocs-annotation-java). Legszűkebb hatókör.version(opcionális): Pontos projekt verzió.minver(opcionális): Minimum projekt verzió.maxver(opcionális): Maximum projekt verzió.
Legalább egy hatókör paraméter (org, directory vagy project) kötelező. A hatókörök prioritása: ha project van megadva, csak az a projekt kerül keresésre; ha nincs, de directory van, akkor az egész projektcsoport; egyébként az egész szervezet (org). Ha org van megadva project vagy directory mellett, a cél további ellenőrzése történik, hogy valóban az adott szervezethez tartozik-e.
Legalább egy verziószűrő (version, minver vagy maxver) kötelező. Ha version van megadva, a minver és maxver figyelmen kívül marad.
Kérés példa
curl "https://api.procurize.com/security/report/list?org=aspose&version=1.0"
Hatókör projektcsoport vagy projekt aliasra:
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"
Válasz példa
{
"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"
}
]
}
Válasz mezők
organizationId: A szervezet, amelyhez a jelentések tartoznak.reports[].id: Egyedi jelentésazonosító. Ezt kell megadni a letöltő végpontoknál.reports[].projectName: A termék megjelenített neve.reports[].projectVersion: A termék verziója.reports[].reportType: Jelentés típusa (OWASP Top 10vagyCWE Top 25).reports[].reportVersion: A jelentés szabványának verziója (év).reports[].date: A jelentés generálásának dátuma.reports[].uploadDate: A jelentés Procurize-ra feltöltésének dátuma.reports[].vulnerabilitiesCount: Talált sebezhetőségek száma.reports[].securityRating: Általános biztonsági besorolás (A–E, ahol azAa legjobb).
Jelentések letöltése ID alapján#
ZIP archívumot tölt le, amely a kiválasztott jelentéseket tartalmazza. Minden jelentés HTML és PDF formátumban is megtalálható.
Végpont
GET /security/report/files
Lekérdezési paraméterek
org(kötelező): Szervezet ID vagy alias (pl.asposevagygroupdocs).reports(kötelező): A letöltendő jelentésazonosítók. Több jelentés esetén ismételje meg a paramétert.
Kérés példa
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
Válasz
- Content-Type:
application/zip - A válasz törzse a bináris ZIP fájlt tartalmazza.
A klienseknek a választ streamelniük és lemezre menteniük kell.
Egyetlen jelentés kezelése#
A /security/report/html, /security/report/pdf és /security/report/zip végpontok egy adott jelentést adnak vissza, és ugyanazokat a kiválasztási szabályokat alkalmazzák.
Jelentés kiválasztása#
A jelentés típusa és verziója mindig kötelező:
rt(kötelező): Jelentés típusa. Támogatott értékek:OWASP Top 10ésCWE Top 25.rv(kötelező): Jelentés verzió – a szabvány kiadásának éve, pl.2025az OWASP Top 10-hez vagy2024a CWE Top 25-höz.
A konkrét jelentés kiválasztása két módon történhet:
- Jelentésazonosító alapján – adja meg az
id(jelentésazonosító) paramétert aproject(projekt ID vagy alias) vagyorg(szervezet ID vagy alias) egyikével együtt. Ebben a módban ne adja meg aversionparamétert. - Projekt verzió alapján – adja meg a
project(projekt ID vagy alias, pl.aspose-imaging-netvagygroupdocs-annotation-java) és aversion(projekt verzió) paramétereket. Ebben a módban azorgparaméter nem használatos.
Ha a project és az org egyaránt meg van adva, az org figyelmen kívül marad.
Jelentés lekérése HTML‑ként#
Egy jelentést HTML oldalként jelenít meg, vagy letölthető HTML fájlként ad vissza.
Végpont
GET /security/report/html
Lekérdezési paraméterek
rt(kötelező): Jelentés típusa.rv(kötelező): Jelentés verziója.- Jelentés kiválasztási paraméterek: lásd Jelentés kiválasztása.
download(opcionális):trueértékre állítva a HTML fájlként kerül letöltésre (Content-Disposition: attachment). Ha nincs megadva vagyfalse, a jelentés inline jelenik meg.
Kérés példa
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 fájl letöltése inline renderelés helyett:
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
Válasz
- Content-Type:
text/html
Jelentés lekérése PDF‑ként#
Egy jelentést PDF dokumentumként ad vissza.
Végpont
GET /security/report/pdf
Lekérdezési paraméterek
rt(kötelező): Jelentés típusa.rv(kötelező): Jelentés verziója.- Jelentés kiválasztási paraméterek: lásd Jelentés kiválasztása.
Kérés példa
curl "https://api.procurize.com/security/report/pdf?rt=CWE+Top+25&rv=2024&project=aspose-imaging-net&version=1.0" -o report.pdf
Válasz
- Content-Type:
application/pdf
Jelentés lekérése ZIP‑ként#
Egy jelentést ZIP archívumként ad vissza, amely tartalmazza mind a HTML, mind a PDF változatot.
Végpont
GET /security/report/zip
Lekérdezési paraméterek
rt(kötelező): Jelentés típusa.rv(kötelező): Jelentés verziója.- Jelentés kiválasztási paraméterek: lásd Jelentés kiválasztása.
Kérés példa
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
Válasz
- Content-Type:
application/zip
Egy projekt összes jelentésének letöltése#
ZIP archívumot tölt le, amely a megadott projekt összes jelentését tartalmazza HTML és PDF formátumban.
Végpont
GET /security/report/project-files
Lekérdezési paraméterek
id(kötelező): Projekt ID. Aliasok nem támogatottak; adja meg a projekt UUID-jét.rt(opcionális): Szűrés jelentés típus szerint. Támogatott értékek:OWASP Top 10ésCWE Top 25.rv(opcionális): Szűrés jelentés verzió (év) szerint.version(opcionális): Szűrés projekt verzió szerint.
Ha nincs szűrő megadva, a projekt összes jelentése bekerül. A szűrő paraméterek kombinálhatók és egymástól függetlenül alkalmazandók.
Kérés példa
curl "https://api.procurize.com/security/report/project-files?id=00000000-0000-0000-0000-000000000005" -o project-reports.zip
Válasz
- Content-Type:
application/zip
Egy projektcsoport (könyvtár) összes jelentésének letöltése#
ZIP archívumot tölt le, amely a megadott könyvtár (projektcsoport) összes projektjének jelentéseit tartalmazza HTML és PDF formátumban.
Végpont
GET /security/report/directory-files
Lekérdezési paraméterek
id(kötelező): Könyvtár (projektcsoport) ID. Aliasok nem támogatottak; adja meg a könyvtár UUID-jét.rt(opcionális): Szűrés jelentés típus szerint. Támogatott értékek:OWASP Top 10ésCWE Top 25.rv(opcionális): Szűrés jelentés verzió (év) szerint.version(opcionális): Szűrés projekt verzió szerint.
Ha nincs szűrő megadva, a könyvtár összes projektjének jelentései kerülnek bele. A szűrő paraméterek kombinálhatók és egymástól függetlenül alkalmazandók.
Kérés példa
curl "https://api.procurize.com/security/report/directory-files?id=00000000-0000-0000-0000-000000000006" -o directory-reports.zip
Válasz
- Content-Type:
application/zip
Jelentések lekérése SonarQube‑ból#
Feltölti a legújabb biztonsági jelentés adatokat egy termékhez egy SonarQube szolgáltatásból a Procurize‑ba. A szolgáltatás lekéri a legújabb hibákat a SonarQube‑ból, JSON reprezentációkká alakítja a legújabb OWASP Top 10 és CWE Top 25 jelentéseket, és ezeket adja vissza a válaszban.
Végpont
POST /security/reports/fetch
Hitelesítés
Ez a végpont API tokennel működik, amelyet az X-API-Key fejlécben kell megadni. A tokenek létrehozásával és használatával kapcsolatos részletekért lásd API tokenek.
Lekérdezési paraméterek
A SonarQube forrás kiválasztása két módon lehetséges:
- Projekt alapján – adja meg a
project(projekt ID vagy alias – lásd Azonosítók és aliasok) paramétert. Ne adja meg aurlvagykeyparamétereket. - SonarQube szolgáltatás alapján – adja meg egyszerre a
url(SonarQube szolgáltatás URL) és akey(SonarQube projekt kulcs) paramétereket. Ne adja meg aprojectparamétert.
Kérés példa
Jelentés lekérése egy projekt aliasával:
curl -X POST "https://api.procurize.com/security/reports/fetch?project=aspose-imaging-net" \
-H "X-API-Key: YOUR_API_TOKEN"
Jelentés lekérése közvetlenül egy SonarQube szolgáltatásból:
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"
Válasz példa
{
"Owasp10_2025": {
"TOTAL_SECURITY_RATING": "A",
"TOTAL_COUNT": 0,
...
},
"Cwe25_2025": {
"TOTAL_SECURITY_RATING": "A",
"TOTAL_COUNT": 0,
...
}
}
A válasz hasznos kiadási build folyamatokban, hogy a build leálljon, ha sebezhetőségek találhatók a nyilvános biztonsági jelentésformátumokban.
Megjegyzések
- Jelentés feltöltéséhez személyes jogosultság szükséges a termékhez, amelyhez a jelentés tartozik. Ha nincs ilyen jogosultsága, küldje el a kérést mindenképp: a platform
403 Forbiddenválaszt ad, és automatikusan értesíti a platform adminisztrátorait, akik felülvizsgálják a kérést és értesítik Önt a döntésről. - Nem minden SonarQube szolgáltatás van regisztrálva a Procurize platformon. Új szolgáltatás regisztrálásához vegye fel a kapcsolatot a platform adminisztrátorával; ehhez az adott szolgáltatás adminisztrátori tokenje szükséges.
Hibakezelés#
Az API a szabványos HTTP állapotkódokat használja.
200 OK: A kérés sikeres204 No Content: A jelentés nem létezik400 Bad Request: Érvénytelen paraméterek vagy hibás kérés401 Unauthorized: Hiányzó vagy érvénytelen API token403 Forbidden: Hozzáférés megtagadva (pl. hiányzó jogosultság a termékhez)500 Internal Server Error: Váratlan szerverhiba
A hibaválaszok gép által olvasható hibakódot és ember által olvasható üzenetet tartalmaznak.
