API звітів SonarQube

Ця стаття описує, як програмно отримати доступ до звітів безпеки SonarQube, що зберігаються на платформі Procurize. Вона охоплює REST API для отримання списку звітів, їх отримання та завантаження архівів звітів.

Огляд

Підмодуль звітів SonarQube дозволяє організаціям централізовано зберігати та керувати звітами безпеки та якості коду, створеними SonarQube. Платформа Procurize надає ці дані через:

  • REST API для отримання метаданих про збережені звіти
  • Кінцеву точку для завантаження артефактів звітів у вигляді ZIP-архівів

Ці можливості забезпечують інтеграцію з CI/CD‑конвеєрами, GRC‑системами, внутрішніми інформаційними панелями та інструментами управління ризиками сторонніх розробників.

Автентифікація та Авторизація

Усі API‑запити, описані в цій статті, не вимагають автентифікації.

Ідентифікатор організації

Ідентифікатор організації потрібен для всіх запитів, описаних тут.
Ви можете знайти його в панелі налаштувань організації за адресою https://dashboard.procurize.ai.
Зверніть увагу, що доступ до панелі налаштувань вимагає авторизації, а доступ до панелі налаштувань організації потребує ролі користувача не менше «Адміністратор» у цій організації.

Кнопка копіювання ID

Базовий 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‑архів, що містить повні артефакти звіту 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‑файл

Клієнти повинні потоково читати відповідь і зберігати її на диск.

Обробка помилок

API використовує стандартні коди стану HTTP.

  • 200 OK: Запит успішний
  • 204 No Content: Звіт не існує
  • 400 Bad Request: Некоректні параметри або неправильний запит
  • 500 Internal Server Error: Неочікувана помилка сервера

Відповіді з помилками містять машино-читабельний код помилки та людсько‑читабельне повідомлення.

Дивіться також:

Пов’язані статті

Що таке звіти безпеки?

Репозиторій звітів безпеки

Як налаштувати звіти безпеки

на верх
Виберіть мову