SonarQube aruannete API ja webhookid

See artikkel kirjeldab, kuidas programmiliselt pääseda juurde SonarQube turvaaruannetele, mis on salvestatud Procurize platvormile. See hõlmab REST API-d aruannete loetlemiseks ja allalaadimiseks, aruandefailide arhiivide allalaadimist ning webhookteavituste tellimist, kui uued aruanded sisestatakse.

Ülevaade

SonarQube aruannete alammodul võimaldab organisatsioonidel keskne salvestada ja hallata SonarQube’i genereeritud turva- ja koodikvaliteedi aruandeid. Procurize platvorm teeb selle andmestiku kättesaadavaks:

  • REST API salvestatud aruannete metaandmete hankimiseks
  • Lõpp-punkt aruande artefaktide alla laadimiseks ZIP-arhiividena
  • Webhookid peaaegu reaalajas teavituste saamiseks, kui uued aruanded on saadaval

Need võimalused võimaldavad integreerimist CI/CD torujuhtmetega, GRC süsteemidega, sisemiste juhtpaneelidega ja kolmanda osapoole riskijuhtimise tööriistadega.

Autentimine ja autoriseerimine

Selles artiklis kirjeldatud kõigi API päringute puhul autentimine pole vajalik.

Organisatsiooni ID

Organisatsiooni ID on nõutav kõigi siin kirjeldatud päringute jaoks. Leiate selle organisatsiooni seadete paneelist aadressil https://dashboard.procurize.ai.
Pange tähele, et seadete paneelile juurdepääs nõuab volitust ja organisatsiooni seadete paneelile juurdepääs nõuab kasutajarolli, mis on vähemalt administraator selles organisatsioonis.

Kopeeri ID nupp

Baas-URL

Kõik REST API lõpp-punktid asuvad järgmise baasilinnukaga:

https://api.procurize.com

SonarQube aruannete REST API

Loetle aruanded

Tagastab leheküljelise loetelu platvormil salvestatud SonarQube turvaaruannetest.

Lõpp‑punkt

GET /security/report/list

Päringu parameetrid

  • org (kohustuslik): Organisatsiooni ID.
  • version (valikuline): Toodete täpne versioon semantilises versioonisüntaksis.
  • minver (valikuline): Toodete minimaalne versioon semantilises versioonisüntaksis.
  • maxver (valikuline): Toodete maksimaalne versioon semantilises versioonisüntaksis.

Pange tähele, et vähemalt üks parameeter version, minver või maxver on päringu jaoks nõutav.

Päringu näide

curl "https://api.procurize.com/security/report/list?org=00000000-0000-0000-0000-000000000001&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"
    }
  ]
}

Laadi aruande arhiiv alla

Laadib ZIP-arhiivi, mis sisaldab täielikke SonarQube aruande artefakte. Arhiiv sisaldab HTML- ja PDF-aruandeid.

Lõpp‑punkt

GET /security/report/files
  • org (kohustuslik): Organisatsiooni ID.
  • reports (kohustuslik): Aruande ID-de massiiv.

Päringu näide

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"

Vastus

  • Sisutüüp: application/zip
  • Vastuse keha sisaldab binaarset ZIP‑faili

Kliendid peaksid vastuse voogesitama ja salvestama kettale.

Vea käsitlemine

API kasutab standardseid HTTP‑staatusekoode.

  • 200 OK: Päring õnnestus
  • 204 No Content: Aruannet ei ole olemas
  • 400 Bad Request: Vigased parameetrid või valesti koostatud päring
  • 500 Internal Server Error: Ootamatu serveri viga

Vea vastused sisaldavad masinloetavat veakoodi ja inimloetavat sõnumit.

Webhookid

Procurize webhookid võimaldavad välisel süsteemil saada teavitusi, kui uued SonarQube aruanded sisestatakse või uuendatakse.

Webhookide konfigureerimine

Webhooke saab lisada või redigeerida organisatsiooni seadete paneelis, Turveraamatud sektsioonis aadressil https://dashboard.procurize.ai.
Pange tähele, et seadete paneelile juurdepääs nõuab volitust ja organisatsiooni seadete paneelile juurdepääs nõuab kasutajarolli, mis on vähemalt administraator selles organisatsioonis.

Webhookide redaktor

Webhookide testimiseks võite kasutada populaarseid veebiteenuseid, nagu https://webhook-test.com

Webhooki koormus

Webhook sündmused edastatakse HTTP POST päringutena JSON koormusega.

Näidiskoormus

{
  "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"
    }
  ]
}

Webhooki turvalisus

Autentsuse tagamiseks sisaldavad webhooki päringud allkirja päist, mis luuakse jagatud saladuse abil.

  • Allkiri arvutatakse kasutades HMAC‑SHA256
  • Kliendid peaksid allkirja kontrollima enne koormuse töötlemist

See takistab volitamata või võltsitud webhookide kohaletoimetamist.

Kohaletoimetamine ja korduskatsetused

  • Webhookid peavad edukaks kohaletoimetamiseks saama 2xx vastuse.
  • Ebaõnnestunud kohaletoimetamised proovitakse automaatselt iga tund pärast.
  • Sündmusi võidakse kohale toimetada rohkem kui üks kord; tarbijad peaksid rakendama idempotentset töötlemist.

Tüüpilised kasutusjuhtumid

  • SonarQube leiud sisestatakse automaatselt sisematesse turvalisuse juhtpaneelidesse
  • Käivita vastavuse töövood, kui kvaliteediväravad ebaõnnestuvad
  • Arhiveeri turvaaruandeid auditite ja tarnija riskide ülevaadete jaoks
  • Hoia kolmandate osapoolte süsteeme sünkroonitud viimase koodi turvakujundusega
Üles
Vali keel