SonarQube-raportit API ja Webhookit
Tämä artikkeli kuvaa, miten ohjelmallisesti päästä SonarQube‑turvallisuusraportteihin, jotka on tallennettu Procurize‑alustalle. Se kattaa REST‑API:n raporttien listaamiseen ja noutamiseen, raporttiarkistojen lataamiseen sekä webhook‑ilmoitusten tilaamiseen, kun uusia raportteja otetaan käyttöön.
Yleiskatsaus
SonarQube‑raporttien alimoduuli mahdollistaa organisaatioille turvallisuus- ja koodinlaaturaporttien keskitetyn tallennuksen ja hallinnan, jotka on luotu SonarQuben avulla. Procurize‑alusta tarjoaa nämä tiedot seuraavan kautta:
- REST‑API, jonka avulla voi hakea tallennettujen raporttien metatiedot
- Päätepiste raportti‑artefaktien lataamiseen ZIP‑arkistoina
- Webhookit lähes reaaliaikaisten ilmoitusten saamiseksi, kun uusia raportteja tulee saataville
Nämä ominaisuudet mahdollistavat integraatiot CI/CD‑putkistoihin, GRC‑järjestelmiin, sisäisiin koontinäyttöihin ja kolmannen osapuolen riskienhallintatyökaluihin.
Tunnistautuminen ja valtuutus
Kaikki tässä artikkelissa kuvatut API‑pyynnöt eivät vaadi autentikointia.
Organisaatio-ID
Organisaatio‑ID on pakollinen kaikissa tässä kuvatuissa pyynnöissä. Löydät sen organisaation asetuspaneelista osoitteessa https://dashboard.procurize.ai.
Huomaa, että asetuspaneeliin pääsy vaatii valtuutuksen, ja organisaation asetuspaneeliin pääsee käyttäjäroolilla, jonka taso on vähintään Administrator kyseisessä organisaatiossa.

Perus-URL
Kaikki REST‑API‑päätepisteet ovat käytettävissä seuraavan perus‑URL:n alla:
https://api.procurize.com
SonarQube-raporttien REST API
Listaa raportit
Palauttaa sivutetun luettelon SonarQube‑turvallisuusraporteista, jotka on tallennettu alustalle.
Endpoint
GET /security/report/list
Kyselyparametrit
org(pakollinen): Organisaatio‑ID.version(valinnainen): Tuotteen tarkka versio Semantic Versioning -muodossa.minver(valinnainen): Tuotteen minimiversio Semantic Versioning -muodossa.maxver(valinnainen): Tuotteen maksimiversio Semantic Versioning -muodossa.
Huomaa, että vähintään yksi parametreista version, minver tai maxver on pakollinen pyynnölle.
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"
}
]
}
Lataa raporttiarkisto
Lataa ZIP‑arkisto, joka sisältää koko SonarQube‑raportin artefaktit. Arkisto sisältää HTML‑ ja PDF‑raportit.
Endpoint
GET /security/report/files
org(pakollinen): Organisaatio‑ID.reports(pakollinen): Raportti‑ID‑taulukko.
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 - Vastausrunko sisältää binäärisen ZIP‑tiedoston
Asiakkaiden tulisi suoratoistaa vastaus ja tallentaa se levylle.
Virheenkäsittely
API käyttää standardoituja HTTP‑statuskoodeja.
200 OK: Pyyntö onnistui204 No Content: Raporttia ei ole olemassa400 Bad Request: Virheellisiä parametreja tai viallinen pyyntö500 Internal Server Error: Odottamaton palvelinvirhe
Virhevastaukset sisältävät koneellisesti luettavan virhekoodin ja ihmisen luettavan viestin.
Webhookit
Procurizen webhookit mahdollistavat ulkoisille järjestelmille ilmoitusten vastaanottamisen, kun uusia SonarQube‑raportteja otetaan käyttöön tai niitä päivitetään.
Webhookien määritys
Webhookeja voidaan lisätä tai muokata organisaation asetuspaneelista, Security reports -osiossa osoitteessa https://dashboard.procurize.ai.
Huomaa, että asetuspaneeliin pääsy vaatii valtuutuksen, ja organisaation asetuspaneeliin pääsee käyttäjäroolilla, jonka taso on vähintään Administrator kyseisessä organisaatiossa.

Webhookien tarkistamiseen voit käyttää suosittuja online‑palveluita, kuten https://webhook-test.com
Webhook-payload
Webhook‑tapahtumat toimitetaan HTTP POST -pyyntönä JSON‑payloadina.
Esimerkkipayload
{
"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"
}
]
}
Webhook-turvallisuus
Autentikoinnin varmistamiseksi webhook‑pyynnöt sisältävät allekirjoitusotsikon, joka on luotu jaetulla salaisuudella.
- Allekirjoitus lasketaan käyttäen HMAC‑SHA256‑algoritmia
- Asiakkaiden tulee vahvistaa allekirjoitus ennen payloadin käsittelyä
Tämä estää luvattomat tai väärennetyt webhook‑toimitukset.
Toimitus ja uudelleenyrittäminen
- Webhookeilla odotetaan
2xx‑vastausta, jotta toimitus katsotaan onnistuneeksi - Epäonnistuneet toimitukset yritetään automaattisesti uudelleen tunnin välein.
- Tapahtumia voidaan toimittaa useammin kuin kerran; vastaanottajien tulee toteuttaa idempotentti käsittely
Tyypilliset käyttötapaukset
- Automaattinen SonarQube‑löytöjen syöttäminen sisäisiin turvallisuus‑koontinäyttöihin
- Laadunvalvontatyönkulkujen käynnistäminen, kun laatuportit epäonnistuvat
- Raporttien arkistointi auditointeja ja toimittajariskien tarkastuksia varten
- Kolmannen osapuolen järjestelmien synkronointi viimeisimpään koodin turvallisuusasemaan
