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: خطای غیرمنتظره سرور

پاسخ‌های خطا حاوی کد خطای قابل پردازش توسط ماشین و پیام قابل خواندن برای انسان هستند.

همچنین ببینید:

مقالات مرتبط

گزارش‌های امنیتی چیست؟

مخزن گزارش‌های امنیتی

نحوه پیکربندی گزارش‌های امنیتی

به بالا
انتخاب زبان