API Raportów SonarQube#

Ten artykuł opisuje, jak programowo uzyskać dostęp do raportów bezpieczeństwa SonarQube przechowywanych na platformie Procurize. Obejmuje REST API służące do wyświetlania listy raportów, ich pobierania oraz pobierania archiwów raportów.

Przegląd#

Podmoduł Raportów SonarQube umożliwia organizacjom centralne przechowywanie i zarządzanie raportami bezpieczeństwa i jakości kodu generowanymi przez SonarQube. Platforma Procurize udostępnia te dane poprzez:

  • REST API umożliwiające pobieranie metadanych o przechowywanych raportach
  • Punkt końcowy umożliwiający pobieranie artefaktów raportów jako archiwa ZIP

Te możliwości umożliwiają integracje z pipeline’ami CI/CD, systemami GRC, wewnętrznymi pulpitami nawigacyjnymi oraz narzędziami zarządzania ryzykiem firm trzecich.

Uwierzytelnianie i autoryzacja#

Wszystkie żądania API opisane w tym artykule nie wymagają uwierzytelniania.

Identyfikator organizacji#

Identyfikator organizacji jest wymagany dla wszystkich opisanych tutaj żądań.
Można go znaleźć w panelu ustawień organizacji pod adresem https://dashboard.procurize.ai.
Uwaga: dostęp do panelu ustawień wymaga autoryzacji, a dostęp do panelu ustawień organizacji wymaga roli użytkownika co najmniej Administrator w tej organizacji.

Przycisk kopiowania ID

Podstawowy URL#

Wszystkie punkty końcowe REST API są dostępne pod następującym podstawowym adresem URL:

https://api.procurize.com

REST API Raportów SonarQube#

Lista raportów#

Zwraca stronicowaną listę raportów bezpieczeństwa SonarQube przechowywanych na platformie.

Endpoint

GET /security/report/list

Parametry zapytania

  • org (wymagane): Identyfikator organizacji.
  • version (opcjonalne): Dokładna wersja produktów w formacie Semantic Versioning.
  • minver (opcjonalne): Minimalna wersja produktów w formacie Semantic Versioning.
  • maxver (opcjonalne): Maksymalna wersja produktów w formacie Semantic Versioning.

Należy pamiętać, że przynajmniej jeden z parametrów version, minver lub maxver jest wymagany w żądaniu.

Przykład żądania

curl "https://api.procurize.com/security/report/list?org=00000000-0000-0000-0000-000000000001&version=1.0"

Przykład odpowiedzi

{
  "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"
    }
  ]
}

Pobierz archiwum raportu#

Pobiera archiwum ZIP zawierające pełne artefakty raportu SonarQube. Archiwum zawiera raporty w formacie HTML i PDF.

Endpoint

GET /security/report/files
  • org (wymagane): Identyfikator organizacji.
  • reports (wymagane): Tablica identyfikatorów raportów.

Przykład żądania

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"

Odpowiedź

  • Content-Type: application/zip
  • Ciało odpowiedzi zawiera binarny plik ZIP

Klienci powinni strumieniowo przetwarzać odpowiedź i zapisać ją na dysku.

Obsługa błędów#

API używa standardowych kodów statusu HTTP.

  • 200 OK: Żądanie zakończone sukcesem
  • 204 No Content: Raport nie istnieje
  • 400 Bad Request: Nieprawidłowe parametry lub błędne żądanie
  • 500 Internal Server Error: Nieoczekiwany błąd serwera

Odpowiedzi błędów zawierają kod błędu czytelny dla maszyny oraz komunikat czytelny dla człowieka.

Zobacz także:#

Powiązane artykuły#

Co to są raporty bezpieczeństwa?

Repozytorium raportów bezpieczeństwa

Jak skonfigurować raporty bezpieczeństwa

do góry
Wybierz język