API گزارشهای SonarQube
این مقاله توضیح میدهد چگونه بهصورت برنامهنویسی به گزارشهای امنیتی SonarQube که در پلتفرم Procurise ذخیره شدهاند دسترسی پیدا کنیم. در این مقاله به REST API برای فهرستکردن، بازیابی گزارشها و دانلود آرشیوهای گزارش میپردازیم.
مرور کلی
ماژول فرعی گزارشهای SonarQube به سازمانها امکان میدهد گزارشهای امنیتی و کیفیت کد تولید شده توسط SonarQube را بهصورت مرکزی ذخیره و مدیریت کنند. پلتفرم Procurise این دادهها را از طریق:
- یک REST API برای بازیابی فرادادههای گزارشهای ذخیرهشده
- یک نقطه انتهایی برای دانلود artefactهای گزارش بهصورت آرشیوهای ZIP
در دسترس قرار میدهد. این قابلیتها یکپارچهسازی با خطوط لوله CI/CD، سیستمهای GRC، داشبوردهای داخلی و ابزارهای مدیریت ریسک شخص ثالث را ممکن میسازند.
احراز هویت و اختیاردهی
تمام درخواستهای API که در این مقاله شرح داده شدهاند نیازی به احراز هویت ندارند.
شناسه سازمان
برای همهٔ درخواستهای زیر نیاز به شناسه سازمان است. میتوانید این شناسه را در پنل تنظیمات سازمان در آدرس https://dashboard.procurize.ai پیدا کنید. لطفاً توجه داشته باشید که دسترسی به پنل تنظیمات نیاز به اختیاردهی دارد و برای دسترسی به پنل تنظیمات سازمان باید نقش کاربری حداقل «مدیر» در آن سازمان داشته باشید.

URL پایه
تمام نقاط انتهایی REST API تحت URL پایهٔ زیر سرو میشوند:
https://api.procurize.com
REST API گزارشهای SonarQube
فهرست گزارشها
یک فهرست صفحهبندیشده از گزارشهای امنیتی SonarQube ذخیرهشده در پلتفرم را بر میگرداند.
نقطه انتهایی
GET /security/report/list
پارامترهای پرسوجو
org(الزامی): شناسهٔ سازمان.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 شامل artefactهای کامل گزارش SonarQube را دانلود میکند. این آرشیو شامل گزارشهای HTML و PDF است.
نقطه انتهایی
GET /security/report/files
org(الزامی): شناسهٔ سازمان.reports(الزامی): آرایهای از شناسههای گزارش.
مثال درخواست
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 است
کلاینتها باید پاسخ را بهصورت جریان (stream) دریافت کرده و بر روی دیسک ذخیره کنند.
مدیریت خطا
API از کدهای وضعیت استاندارد HTTP استفاده میکند.
200 OK: درخواست موفق204 No Content: گزارش موجود نیست400 Bad Request: پارامترهای نامعتبر یا درخواست خراب500 Internal Server Error: خطای غیرمنتظره سرور
پاسخهای خطا حاوی کد خطای قابل پردازش توسط ماشین و پیام قابل خواندن برای انسان هستند.
