SonarQube հաշվետվությունների API և Webhooks
Այս հոդվածը նկարագրում է, թե ինչպես ծրագրաբար հասնել SonarQube‑ի անվտանգության հաշվետվություններին, որոնք պահված են Procurize հարթակում։ Այն ընդգրկում է REST API‑ն՝ հաշվետվությունների ցանկը և ստացման համար, հաշվետվությունների արխիվների ներբեռնումը, ինչպես նաև webhook‑ների ծանուցումներին բաժանորդագրվելը, երբ նոր հաշվետվությունները ներմուծվում են։
Ակնարկ
SonarQube հաշվետվությունների ենթամոդուլը տալիս է կազմակերպություններին հնարավորությունը կենտրոնացված պահել և կառավարել უსაფრთხოების և կոդի որակի հաշվետվությունները, որոնք գեներացված են SonarQube‑ով։ Procurize հարթակը ուներացնում է այս տվյալները՝
- REST API՝ պահպանված հաշվետվությունների մետադաշտերը ստանալու համար
- Վերջնակետ ZIP արխիվների ներբեռնելու համար
- Webhook‑ներ՝ իրական‑ժամանակի ծանուցումներ տրամադրելու համար, երբ նոր հաշվետվությունները հասանելի են դառնում
Այս հնարավորությունները թույլ են տալիս ինտեգրել CI/CD շղթաներ, GRC համակարգեր, ներքին վահանդակներ և երրորդ կողմի ռիսկի կառավարիչ գործիքներ։
Նույնականացում և Թույլտրվություն
Այս հոդվածում նկարագրված բոլոր API‑ հայցերը չպահանջում են նորից նույնականացման գործընթաց:
Կազմակերպության ID
Բոլոր հայցերը պահանջում են կազմակերպության ID։ Այն կարելի է գտնել կազմակերպության կառավարման վահանակում՝ https://dashboard.procurize.ai։
⚠️ Խուսափելու համար, որ հասանելիությունը կառավարման վահանին պահանջում է համապատասխան թույլտվություն, և այս վահանին հասանելիությունը պետք է լինի առնվազն «Ադմինիստրատոր» դեր ունեցող օգտատիրոջը այդ կազմակերպության համար։

Բազային URL
Բոլոր REST API‑ների վերջանկետները սպասարկվում են հետևյալ հիմքային URL‑ով.
https://api.procurize.com
SonarQube հաշվետվությունների REST API
Ցուցակագրել հաշվետվությունները
Վերաստեղծում է էջագրված SonarQube‑ի անվտանգության հաշվետվությունների ցանկ, որոնք պահված են հարթակում։
Վերջնակետ
GET /security/report/list
Հարցման պարամետրեր
org(պարտադիր): Կազմակերպության ID։version(ոչ պարտադիր): ծրագրերի ճիշտ տարբերակը՝ Semantic Versioning ձևաչափով։minver(ոչ պարտադիր): նվազագույն տարբերակը՝ Semantic Versioning ձևաչափով։maxver(ոչ պարտադիր): առավելագույն տարբերակը՝ Semantic Versioning ձևաչափով։
Հնարավոր է, որ խնդրանքը կատարելու համար պահանջվի առնվազն մեկից՝ version, minver կամ maxver պարամետրներից որևէ մեկը։
Հայտնի օրինակ
curl "https://api.procurize.com/security/report/list?org=00000000-0000-0000-0000-000000000001&version=1.0"
Պատասխանի օրինակ
{
"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"
}
]
}
Ներբեռնել հաշվետվության արխիվը
Ներբեռնում է ZIP արխիվ, որը ներառում է SonarQube‑ի ամբողջական հաշվետվության արխիվները։ Արխիվը պարունակում է HTML և PDF հաշվետվություններ։
Վերջնակետ
GET /security/report/files
org(պարտադիր): Կազմակերպության ID։reports(պարտադիր): հաշվետվությունների ID-ների զանգվածը։
Հայտնի օրինակ
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"
Պատասխանը
- Content-Type:
application/zip - Պատասխանի մարմինը պարունակում է երկուական ZIP‑ֆայլ
Կայներին պետք է աւդագրեն պատասխանը և պահպանեն այն սկավառակում։
Սխալների կառավարում
API‑ն օգտագործում է ստանդարտ HTTP կարգի կոդերը.
200 OK: Հայցը հաջողված է204 No Content: Հաշվետվությունը գոյություն չունի400 Bad Request: Պարամետրերը սխալ են կամ պահանջը խիստ սխալ է500 Internal Server Error: Անսպասելի սերվերի սխալ
Սխալների պատասխանում ներառված են մեքենային հասկանալի սխალის կոդը և մարդ-համարելի հաղորդագրություն։
Webhooks
Procurize‑ի webhook‑ները թույլ են տալիս արտաքին համակարգերին ստանալ ծանուցումներ, երբ նոր SonarQube հաշվետվություններ են ներմուծվում կամ թարմացվում։
Webhook‑ների կարգավորում
Webhook‑ները կարելի է ավելացնել կամ խմբագրել կազմակերպության կառավարման վահանակում, Անվտանգության հաշվետվությունների բաժնում՝ https://dashboard.procurize.ai։
⚠️ Դիցուք, որ հասանելիությունը այս վահանին պահանջում է համապատասխան թույլտվություն, և օգտագործողը պետք է ունենա առնվազն «Ադմինիստրատոր» դեր:

Webhook‑ների ստուգման համար կարելի է օգտագործել հայտնի առցանց ծառայություններ, օրինակ https://webhook-test.com։
Webhook-ի բովանդակություն
Webhook-ի իրադարձությունները ներկայացվում են HTTP POST դիմություններով՝ JSON բովանդակությամբ։
Բովանդակության օրինակ
{
"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-ի անվտանգություն
Ուրիշի իսկությունը երաշխավորելու համար webhook‑ների պահանջներում առկա է ստորագրության էջագլուխ, որը ստեղծված է համավերջական գաղտնիքով:
- Ստորագրությունն հաշվարկվում է HMAC‑SHA256‑ով
- Կայքերը պետք է ստուգեն ստորագրությունը, նախքան բովանդակությունը մշակելը
Սա պաշտպանում է առանց թույլտվության կամորեն ստեղծված webhook‑ների դիմումներից:
Առաքում և կրկնապատկումներ
- Webhook‑ները պետք է պատասխանն ունենան
2xxկարգի, որպեսզի վերցնվեն որպես հաջողված - Անհաջողված առաքումները ավտոմատ կերպով վերաբեռնում են յուրաքանչյուր ժամին։
- Իրադարձությունները կարող են առաքվել մեկից ավելի անգամ, ուստի ստացող կողմերը պետք է ապահովեն իրադարձությունների իդեմպոտենտ գործընթացը
Տիպիկ օգտագործման դեպքեր
- Անվտանգության հեղինակումների ինքնաբերաբար ներմուծում ներքին անվտանգության վահանակերում
- Համապատասխանության աշխատանքային միջոցառումների գործարկում, երբ որոդի դարպասները չպահպանված են
- Արձանեկան հաշվետվությունների արխիվացում աուդիթների և մատակարարքային ռիսկի վերանայումների համար
- Երրորդ կողմի համակարգերի սինքրոնիզացիա վերջին կոդի անվտանգության կարգավիճակի հետ
