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: Неочікувана помилка сервера

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

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

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

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

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

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

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