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égpontMódszerCél
/security/report/listGETJelentés metaadatok listázása a kiválasztott hatókör és verzió szerint.
/security/report/filesGETA kiválasztott jelentések letöltése ZIP archívumként.
/security/report/htmlGETEgyetlen jelentés lekérése HTML formátumban.
/security/report/pdfGETEgyetlen jelentés lekérése PDF formátumban.
/security/report/zipGETEgyetlen jelentés lekérése ZIP archívumként.
/security/report/project-filesGETEgy projekt összes jelentésének letöltése ZIP archívumként.
/security/report/directory-filesGETEgy projektcsoport (könyvtár) összes jelentésének letöltése ZIP archívumként.
/security/reports/fetchPOSTA 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.

Másolás ID gomb

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éterElfogadPélda aliasok
orgSzervezet ID vagy aliasaspose, groupdocs
directoryKönyvtár (projektcsoport) ID vagy aliasaspose-imaging, groupdocs-annotation
projectProjekt ID vagy aliasaspose-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 id paraméterénél. Adja meg a könyvtár vagy projekt UUID-jét a GET /security/report/project-files és a GET /security/report/directory-files vé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. aspose vagy groupdocs). Legszélesebb hatókör.
  • directory (opcionális): Könyvtár (projektcsoport) ID vagy alias (pl. aspose-imaging vagy groupdocs-annotation). Szűkebb hatókör.
  • project (opcionális): Projekt ID vagy alias (pl. aspose-imaging-net vagy groupdocs-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 10 vagy CWE 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 az A a 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. aspose vagy groupdocs).
  • 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 és CWE Top 25.
  • rv (kötelező): Jelentés verzió – a szabvány kiadásának éve, pl. 2025 az OWASP Top 10-hez vagy 2024 a 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 a project (projekt ID vagy alias) vagy org (szervezet ID vagy alias) egyikével együtt. Ebben a módban ne adja meg a version paramétert.
  • Projekt verzió alapján – adja meg a project (projekt ID vagy alias, pl. aspose-imaging-net vagy groupdocs-annotation-java) és a version (projekt verzió) paramétereket. Ebben a módban az org paramé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 vagy false, 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 és CWE 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 és CWE 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 a url vagy key paramétereket.
  • SonarQube szolgáltatás alapján – adja meg egyszerre a url (SonarQube szolgáltatás URL) és a key (SonarQube projekt kulcs) paramétereket. Ne adja meg a project paramé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 Forbidden vá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 sikeres
  • 204 No Content: A jelentés nem létezik
  • 400 Bad Request: Érvénytelen paraméterek vagy hibás kérés
  • 401 Unauthorized: Hiányzó vagy érvénytelen API token
  • 403 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.

Lásd még:#

Kapcsolódó cikkek#

Mi a biztonsági jelentés?

Biztonsági jelentések tárolója

Hogyan konfiguráljuk a biztonsági jelentéseket

felülre
Válasszon nyelvet