- 프로젝트의 CI/CD 작업 토큰 액세스 설정 가져오기
- 프로젝트의 CI/CD 작업 토큰 액세스 설정 수정하기
- 프로젝트의 CI/CD 작업 토큰으로의 인바운드 허용 디렉터리 가져오기
- 프로젝트를 CI/CD 작업 토큰 인바운드 허용 디렉터리에 추가하기
- CI/CD 작업 토큰 들어오는 허용 디렉터리에서 프로젝트 삭제
- 프로젝트의 CI/CD 작업 토큰 허용 디렉터리 가져오기
- CI/CD 작업 토큰 허용 디렉터리에 그룹 추가
- CI/CD 작업 토큰 허용 디렉터리에서 그룹 제거
프로젝트 CI/CD 작업 토큰 범위 API
CI/CD 작업 토큰에 대해 더 읽어보세요.
프로젝트의 CI/CD 작업 토큰 액세스 설정 가져오기
프로젝트의 CI/CD 작업 토큰 액세스 설정 (작업 토큰 범위)을 가져옵니다.
GET /projects/:id/job_token_scope
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
성공 시 200
및 다음과 같은 응답 속성을 반환합니다:
속성 | 유형 | 설명 |
---|---|---|
inbound_enabled
| boolean | 이 프로젝트로의 액세스 제한 설정이 활성화되었는지 표시합니다. |
outbound_enabled
| boolean | 이 프로젝트에서 생성된 CI/CD 작업 토큰이 다른 프로젝트에 액세스할 수 있는지 표시합니다. 폐기됨 및 GitLab 18.0에서 제거 예정. |
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/job_token_scope"
예시 응답:
{
"inbound_enabled": true,
"outbound_enabled": false
}
프로젝트의 CI/CD 작업 토큰 액세스 설정 수정하기
- GitLab 16.3에서 [이 프로젝트로의 CI_JOB_TOKEN으로의 액세스 허용 설정이 이 프로젝트로의 액세스 제한으로 이름 변경됨하였습니다.
프로젝트의 이 프로젝트로의 액세스 제한 설정 (작업 토큰 범위)을 수정합니다.
PATCH /projects/:id/job_token_scope
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
enabled
| boolean | 예 | 이 프로젝트로의 액세스 제한 설정을 활성화해야 하는지를 나타냅니다. |
성공 시 204
및 응답 본문이 없음을 반환합니다.
예시 요청:
curl --request PATCH \
--url "https://gitlab.example.com/api/v4/projects/1/job_token_scope" \
--header 'PRIVATE-TOKEN: <your_access_token>' \
--header 'Content-Type: application/json' \
--data '{ "enabled": false }'
프로젝트의 CI/CD 작업 토큰으로의 인바운드 허용 디렉터리 가져오기
프로젝트의 CI/CD 작업 토큰 인바운드 허용 디렉터리 (작업 토큰 범위)을 가져옵니다.
GET /projects/:id/job_token_scope/allowlist
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
이 엔드포인트는 오프셋 기반 페이징을 지원합니다.
성공 시 200
및 각 프로젝트에 대한 제한된 필드 디렉터리을 반환합니다.
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/job_token_scope/allowlist"
예시 응답:
[
{
"id": 4,
"description": null,
"name": "Diaspora Client",
"name_with_namespace": "Diaspora / Diaspora Client",
"path": "diaspora-client",
"path_with_namespace": "diaspora/diaspora-client",
"created_at": "2013-09-30T13:46:02Z",
"default_branch": "main",
"tag_list": [
"example",
"disapora client"
],
"topics": [
"example",
"disapora client"
],
"ssh_url_to_repo": "git@gitlab.example.com:diaspora/diaspora-client.git",
"http_url_to_repo": "https://gitlab.example.com/diaspora/diaspora-client.git",
"web_url": "https://gitlab.example.com/diaspora/diaspora-client",
"avatar_url": "https://gitlab.example.com/uploads/project/avatar/4/uploads/avatar.png",
"star_count": 0,
"last_activity_at": "2013-09-30T13:46:02Z",
"namespace": {
"id": 2,
"name": "Diaspora",
"path": "diaspora",
"kind": "group",
"full_path": "diaspora",
"parent_id": null,
"avatar_url": null,
"web_url": "https://gitlab.example.com/diaspora"
}
},
{
...
}
]
프로젝트를 CI/CD 작업 토큰 인바운드 허용 디렉터리에 추가하기
프로젝트를 해당 프로젝트의 CI/CD 작업 토큰 인바운드 허용 디렉터리에 추가합니다.
POST /projects/:id/job_token_scope/allowlist
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
target_project_id
| integer | 예 | CI/CD 작업 토큰 인바운드 허용 디렉터리에 추가된 프로젝트의 ID. |
성공 시 201
및 다음과 같은 응답 속성을 반환합니다:
속성 | 유형 | 설명 |
---|---|---|
source_project_id
| integer | 업데이트된 CI/CD 작업 토큰 인바운드 허용 디렉터리을 포함한 프로젝트의 ID. |
target_project_id
| integer | 소스 프로젝트의 인바운드 허용 디렉터리에 추가된 프로젝트의 ID. |
예시 요청:
curl --request POST \
--url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/allowlist" \
--header 'PRIVATE-TOKEN: <your_access_token>' \
--header 'Content-Type: application/json' \
--data '{ "target_project_id": 2 }'
예시 응답:
{
"source_project_id": 1,
"target_project_id": 2
}
CI/CD 작업 토큰 들어오는 허용 디렉터리에서 프로젝트 삭제
프로젝트의 CI/CD 작업 토큰 들어오는 허용 디렉터리에서 프로젝트를 삭제합니다.
DELETE /projects/:id/job_token_scope/allowlist/:target_project_id
지원되는 속성:
속성 | 종류 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | Yes | 프로젝트의 ID 또는 URL 인코딩된 경로. |
target_project_id
| 정수 | Yes | CI/CD 작업 토큰 들어오는 허용 디렉터리에서 제거된 프로젝트의 ID입니다. |
성공 시, 204
및 응답 본문이 없습니다.
예시 요청:
curl --request DELETE \
--url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/allowlist/2" \
--header 'PRIVATE-TOKEN: <your_access_token>' \
--header 'Content-Type: application/json'
프로젝트의 CI/CD 작업 토큰 허용 디렉터리 가져오기
프로젝트의 CI/CD 작업 토큰 허용 디렉터리(작업 토큰 범위)을 가져옵니다.
GET /projects/:id/job_token_scope/groups_allowlist
지원되는 속성:
속성 | 종류 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | Yes | 프로젝트의 ID 또는 URL 인코딩된 경로. |
이 엔드포인트는 offset 기반 페이징을 지원합니다.
성공 시, 200
및 각 프로젝트의 제한된 필드로 구성된 그룹 디렉터리이 반환됩니다.
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/job_token_scope/groups_allowlist"
예시 응답:
[
{
"id": 4,
"web_url": "https://gitlab.example.com/groups/diaspora/diaspora-group",
"name": "namegroup"
},
{
...
}
]
CI/CD 작업 토큰 허용 디렉터리에 그룹 추가
프로젝트의 CI/CD 작업 토큰 허용 디렉터리에 그룹을 추가합니다.
POST /projects/:id/job_token_scope/groups_allowlist
지원되는 속성:
속성 | 종류 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | Yes | 프로젝트의 ID 또는 URL 인코딩된 경로. |
target_group_id
| 정수 | Yes | CI/CD 작업 토큰 그룹 허용 디렉터리에 추가 된 그룹의 ID입니다. |
성공 시, 201
및 다음 응답 속성이 반환됩니다:
속성 | 종류 | 설명 |
---|---|---|
source_project_id
| 정수 | 업데이트할 CI/CD 작업 토큰 들어오는 허용 디렉터리을 포함한 프로젝트의 ID입니다. |
target_group_id
| 정수 | 소스 프로젝트의 그룹 허용 디렉터리에 추가 된 그룹의 ID입니다. |
예시 요청:
curl --request POST \
--url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/groups_allowlist" \
--header 'PRIVATE-TOKEN: <your_access_token>' \
--header 'Content-Type: application/json' \
--data '{ "target_group_id": 2 }'
예시 응답:
{
"source_project_id": 1,
"target_group_id": 2
}
CI/CD 작업 토큰 허용 디렉터리에서 그룹 제거
프로젝트의 CI/CD 작업 토큰 허용 디렉터리에서 그룹을 제거합니다.
DELETE /projects/:id/job_token_scope/groups_allowlist/:target_group_id
지원되는 속성:
속성 | 종류 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | Yes | 프로젝트의 ID 또는 URL 인코딩된 경로. |
target_group_id
| 정수 | Yes | CI/CD 작업 토큰 그룹 허용 디렉터리에서 제거 된 그룹의 ID입니다. |
성공 시, 204
및 응답 본문이 없습니다.
예시 요청:
curl --request DELETE \
--url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/groups_allowlist/2" \
--header 'PRIVATE-TOKEN: <your_access_token>' \
--header 'Content-Type: application/json'