واجهة برمجة تطبيقات تقارير SonarQube#
تصف هذه المقالة كيفية الوصول برمجيًا إلى تقارير أمان SonarQube المخزنة في منصة Procurize. تغطي واجهة برمجة التطبيقات REST لسرد واسترجاع التقارير وتنزيل أرشيفات التقارير.
نظرة عامة#
يسمح الوحدة الفرعية لتقارير SonarQube للمؤسسات بتخزين وإدارة تقارير الأمان وجودة الشيفرة التي يولدها SonarQube مركزيًا. تقوم منصة Procurize بتوفير هذه البيانات عبر:
- واجهة برمجة تطبيقات REST لاسترجاع بيانات التعريف حول التقارير المخزنة
- نقطة نهاية لتنزيل ملفات التقرير كأرشيفات ZIP
تتيح هذه الإمكانيات دمجًا مع خطوط أنابيب CI/CD، وأنظمة GRC، ولوحات المعلومات الداخلية، وأدوات إدارة المخاطر الخارجية.
المصادقة والتفويض#
جميع طلبات واجهة برمجة التطبيقات الموضحة في هذه المقالة لا تتطلب مصادقة.
معرف المؤسسة#
يتطلب جميع الطلبات المذكورة هنا معرف المؤسسة. يمكنك العثور عليه في لوحة إعدادات المؤسسة على https://dashboard.procurize.ai. يرجى ملاحظة أن الوصول إلى لوحة الإعدادات يتطلب تفويضًا، ويتطلب الوصول إلى لوحة إعدادات المؤسسة دور مستخدم يساوي على الأقل مشرفًا في تلك المؤسسة.

عنوان URL الأساسي#
جميع نقاط نهاية واجهة برمجة التطبيقات REST تُقدم تحت عنوان URL الأساسي التالي:
https://api.procurize.com
واجهة برمجة تطبيقات تقارير SonarQube REST#
سرد التقارير#
تسترجع قائمة صفحات من تقارير أمان 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 يحتوي على جميع ملفات تقرير 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"
الاستجابة
- نوع المحتوى:
application/zip - يحتوي جسم الاستجابة على ملف ZIP ثنائي
يجب على العملاء بث الاستجابة وحفظها على القرص.
التعامل مع الأخطاء#
تستخدم الواجهة رموز حالة HTTP القياسية.
200 OK: تم تنفيذ الطلب بنجاح204 No Content: لا يوجد تقرير400 Bad Request: معلمات غير صالحة أو طلب غير مكوَّن بشكل صحيح500 Internal Server Error: خطأ غير متوقع في الخادم
تتضمن استجابات الأخطاء رمز خطأ مقروء آليًا ورسالة قابلة للقراءة البشرية.
