API Báo cáo SonarQube
Bài viết này mô tả cách truy cập một cách lập trình các báo cáo bảo mật SonarQube được lưu trữ trên nền tảng Procurize. Nó bao gồm API REST để liệt kê và lấy báo cáo cũng như tải xuống các lưu trữ báo cáo.
Tổng quan
Phân mô-đun Báo cáo SonarQube cho phép các tổ chức lưu trữ và quản lý tập trung các báo cáo bảo mật và chất lượng mã được tạo bởi SonarQube. Nền tảng Procurize cung cấp dữ liệu này thông qua:
- Một API REST để lấy metadata của các báo cáo đã lưu
- Một endpoint để tải xuống các tài sản báo cáo dưới dạng tệp ZIP
Các khả năng này cho phép tích hợp với pipeline CI/CD, hệ thống GRC, bảng điều khiển nội bộ và các công cụ quản lý rủi ro bên thứ ba.
Xác thực và ủy quyền
Tất cả các yêu cầu API được mô tả trong bài viết này không yêu cầu xác thực.
ID tổ chức
ID tổ chức là bắt buộc cho mọi yêu cầu được mô tả ở đây.
Bạn có thể tìm thấy nó trong bảng điều khiển cài đặt của Tổ chức tại https://dashboard.procurize.ai.
Lưu ý rằng việc truy cập bảng điều khiển cài đặt yêu cầu ủy quyền, và để truy cập bảng điều khiển cài đặt của tổ chức, người dùng phải có vai trò ít nhất là Quản trị viên trong tổ chức đó.

URL cơ bản
Tất cả các endpoint API REST được phục vụ dưới URL cơ bản sau:
https://api.procurize.com
API REST Báo cáo SonarQube
Liệt kê báo cáo
Lấy danh sách có phân trang các báo cáo bảo mật SonarQube được lưu trữ trên nền tảng.
Endpoint
GET /security/report/list
Query Parameters
org(bắt buộc): ID tổ chức.version(tùy chọn): Phiên bản chính xác của sản phẩm theo định dạng Semantic Versioning.minver(tùy chọn): Phiên bản tối thiểu của sản phẩm theo định dạng Semantic Versioning.maxver(tùy chọn): Phiên bản tối đa của sản phẩm theo định dạng Semantic Versioning.
Lưu ý rằng ít nhất một trong các tham số version, minver hoặc maxver là bắt buộc cho yêu cầu.
Request Example
curl "https://api.procurize.com/security/report/list?org=00000000-0000-0000-0000-000000000001&version=1.0"
Response Example
{
"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"
}
]
}
Tải xuống lưu trữ báo cáo
Tải xuống một tệp ZIP chứa đầy đủ các tài sản báo cáo SonarQube. Lưu trữ bao gồm các báo cáo HTML và PDF.
Endpoint
GET /security/report/files
org(bắt buộc): ID tổ chức.reports(bắt buộc): Mảng các ID báo cáo.
Request Example
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"
Response
- Content-Type:
application/zip - Thân phản hồi chứa tệp ZIP nhị phân
Máy khách nên stream phản hồi và lưu nó vào đĩa.
Xử lý lỗi
API sử dụng các mã trạng thái HTTP tiêu chuẩn.
200 OK: Yêu cầu thành công204 No Content: Báo cáo không tồn tại400 Bad Request: Tham số không hợp lệ hoặc yêu cầu sai định dạng500 Internal Server Error: Lỗi máy chủ không mong muốn
Phản hồi lỗi bao gồm mã lỗi máy đọc và thông điệp dành cho người đọc.
