디펜던시 리스트 내보내기 API
이 엔드포인트에 대한 모든 호출은 인증을 요구합니다.
파이프라인 수준의 디펜던시 리스트 내보내기 생성
- 도입됨 GitLab 16.4에서
merge_sbom_api
라는 플래그와 함께. 기본적으로 활성화됨.- 일반적으로 사용 가능 GitLab 16.7에서. 기능 플래그
merge_sbom_api
가 제거됨.
파이프라인에서 발견된 모든 프로젝트 디펜던시에 대한 새로운 CycloneDX JSON 내보내기를 생성합니다.
인증된 사용자가 read_dependency를 읽을 권한이 없는 경우,
이 요청은 403 Forbidden
상태 코드를 반환합니다.
SBOM 내보내기는 내보내기 작성자만 접근할 수 있습니다.
POST /pipelines/:id/dependency_list_exports
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id |
integer | 예 | 인증된 사용자가 접근할 수 있는 파이프라인의 ID입니다. |
export_type |
string | 예 | 이것은 sbom 으로 설정되어야 합니다. |
curl --request POST --header "PRIVATE-TOKEN: <private_token>" "https://gitlab.example.com/api/v4/pipelines/1/dependency_list_exports" --data "export_type=sbom"
생성된 디펜던시 리스트 내보내기는 1시간 후에 자동으로 삭제됩니다.
예제 응답:
{
"id": 2,
"has_finished": false,
"self": "http://gitlab.example.com/api/v4/dependency_list_exports/2",
"download": "http://gitlab.example.com/api/v4/dependency_list_exports/2/download"
}
단일 디펜던시 리스트 내보내기 가져오기
단일 디펜던시 리스트 내보내기를 가져옵니다.
GET /dependency_list_exports/:id
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id |
integer | 예 | 디펜던시 리스트 내보내기의 ID입니다. |
curl --header "PRIVATE-TOKEN: <private_token>" "https://gitlab.example.com/api/v4/dependency_list_exports/2"
디펜던시 리스트 내보내기가 생성 중일 때 상태 코드는 202 Accepted
이고, 준비되었을 때는 200 OK
입니다.
예제 응답:
{
"id": 4,
"has_finished": true,
"self": "http://gitlab.example.com/api/v4/dependency_list_exports/4",
"download": "http://gitlab.example.com/api/v4/dependency_list_exports/4/download"
}
디펜던시 리스트 내보내기 다운로드
단일 디펜던시 리스트 내보내기를 다운로드합니다.
GET /dependency_list_exports/:id/download
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id |
integer | 예 | 디펜던시 리스트 내보내기의 ID입니다. |
curl --header "PRIVATE-TOKEN: <private_token>" "https://gitlab.example.com/api/v4/dependency_list_exports/2/download"
디펜던시 리스트 내보내기가 완료되지 않았거나 찾을 수 없는 경우 응답은 404 Not Found
입니다.
예제 응답:
{
"bomFormat": "CycloneDX",
"specVersion": "1.4",
"serialNumber": "urn:uuid:aec33827-20ae-40d0-ae83-18ee846364d2",
"version": 1,
"metadata": {
"tools": [
{
"vendor": "Gitlab",
"name": "Gemnasium",
"version": "2.34.0"
}
],
"authors": [
{
"name": "Gitlab",
"email": "support@gitlab.com"
}
],
"properties": [
{
"name": "gitlab:dependency_scanning:input_file",
"value": "package-lock.json"
}
]
},
"components": [
{
"name": "com.fasterxml.jackson.core/jackson-core",
"purl": "pkg:maven/com.fasterxml.jackson.core/jackson-core@2.9.2",
"version": "2.9.2",
"type": "library",
"licenses": [
{
"license": {
"id": "MIT",
"url": "https://spdx.org/licenses/MIT.html"
}
},
{
"license": {
"id": "BSD-3-Clause",
"url": "https://spdx.org/licenses/BSD-3-Clause.html"
}
}
]
}
]
}