보호된 태그 API
Tier: Free, Premium, Ultimate
Offering: GitLab.com, Self-managed, GitLab Dedicated
유효한 액세스 레벨
다음 액세스 레벨이 인식됩니다:
-
0
: 액세스 없음 -
30
: 개발자 역할 -
40
: 유지자 역할
보호된 태그 목록
- GitLab 16.0에서 도입된 배포 키 정보.
프로젝트에서 보호된 태그 목록을 가져옵니다. 이 함수는 페이지네이션 매개변수 page
및 per_page
를 사용하여 보호된 태그 목록을 제한합니다.
GET /projects/:id/protected_tags
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL-인코딩된 경로. |
curl --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/5/protected_tags"
예시 응답:
[
{
"name": "release-1-0",
"create_access_levels": [
{
"id": 1,
"access_level": 40,
"access_level_description": "유지자"
},
{
"id": 2,
"access_level": 40,
"access_level_description": "배포 키",
"deploy_key_id": 1
}
]
},
...
]
단일 보호된 태그 또는 와일드카드 보호된 태그 가져오기
단일 보호된 태그 또는 와일드카드 보호된 태그를 가져옵니다.
GET /projects/:id/protected_tags/:name
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL-인코딩된 경로. |
name
| 문자열 | 예 | 태그명 또는 와일드카드의 이름. |
curl --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/5/protected_tags/release-1-0"
예시 응답:
{
"name": "release-1-0",
"create_access_levels": [
{
"id": 1,
"access_level": 40,
"access_level_description": "유지자"
}
]
}
리포지토리 태그 보호
deploy_key_id
구성은 GitLab 17.5에서 도입되었습니다.
단일 리포지토리 태그 또는 여러 프로젝트 리포지토리 태그를 와일드카드 보호된 태그를 사용하여 보호합니다.
POST /projects/:id/protected_tags
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/5/protected_tags" -d '{
"allowed_to_create" : [
{
"user_id" : 1
},
{
"access_level" : 30
}
],
"create_access_level" : 30,
"name" : "*-stable"
}'
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL-인코딩된 경로. |
name
| 문자열 | 예 | 태그명 또는 와일드카드의 이름. |
allowed_to_create
| 배열 | 아니요 | 태그를 생성할 수있는 액세스 레벨의 배열, 각각 {user_id: integer} , {group_id: integer} , {deploy_key_id: integer} , 또는 {access_level: integer} 형식의 해시로 설명됩니다. 프리미엄 및 얼티밋 전용.
|
create_access_level
| 문자열 | 아니요 | 생성이 허용된 액세스 레벨. 기본값: 40 (유지자 역할용).
|
예시 응답:
{
"name": "*-stable",
"create_access_levels": [
{
"id": 1,
"access_level": 30,
"access_level_description": "개발자 + 유지자"
}
]
}
리포지토리 태그 보호 해제
지정된 보호된 태그 또는 와일드카드 보호된 태그의 보호를 해제합니다.
DELETE /projects/:id/protected_tags/:name
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/5/protected_tags/*-stable"
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL-인코딩된 경로. |
name
| 문자열 | 예 | 태그명. |