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: خطای غیرمنتظره سرور
پاسخهای خطا حاوی کد خطای قابل پردازش توسط ماشین و پیام قابل خواندن برای انسان هستند.
