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