레이블 API
Tier: Free, Premium, Ultimate
Offering: GitLab.com, Self-Managed, GitLab Dedicated
labels을(를) REST API를 사용하여 상호 작용합니다.
레이블 디렉터리
지정된 프로젝트의 모든 레이블을 가져옵니다.
기본적으로 이 요청은 API 결과가 페이지별로 구성되기 때문에 한 번에 20개의 결과를 반환합니다.
GET /projects/:id/labels
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL로 인코딩된 경로 |
with_counts
| 부울 | 아니요 | 이슈 및 Merge Request 개수를 포함할지 여부. 기본값은 false .
|
include_ancestor_groups
| 부울 | 아니요 | 상위 그룹을 포함할지 여부. 기본값은 true .
|
search
| 문자열 | 아니요 | 레이블을 키워드로 필터링하는 데 사용됩니다. |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/labels?with_counts=true"
응답 예시:
[
{
"id" : 1,
"name" : "bug",
"color" : "#d9534f",
"text_color" : "#FFFFFF",
"description": "사용자가 신고한 버그",
"description_html": "사용자가 신고한 버그",
"open_issues_count": 1,
"closed_issues_count": 0,
"open_merge_requests_count": 1,
"subscribed": false,
"priority": 10,
"is_project_label": true
},
{
"id" : 4,
"color" : "#d9534f",
"text_color" : "#FFFFFF",
"name" : "confirmed",
"description": "확인된 이슈",
"description_html": "확인된 이슈",
"open_issues_count": 2,
"closed_issues_count": 5,
"open_merge_requests_count": 0,
"subscribed": false,
"priority": null,
"is_project_label": true
},
{
"id" : 7,
"name" : "critical",
"color" : "#d9534f",
"text_color" : "#FFFFFF",
"description": "중대한 이슈. 빨리 수정해야 함",
"description_html": "중대한 이슈. 빨리 수정해야 함",
"open_issues_count": 1,
"closed_issues_count": 3,
"open_merge_requests_count": 1,
"subscribed": false,
"priority": null,
"is_project_label": true
},
{
"id" : 8,
"name" : "documentation",
"color" : "#f0ad4e",
"text_color" : "#FFFFFF",
"description": "문서에 대한 이슈",
"description_html": "문서에 대한 이슈",
"open_issues_count": 1,
"closed_issues_count": 0,
"open_merge_requests_count": 2,
"subscribed": false,
"priority": null,
"is_project_label": false
},
{
"id" : 9,
"color" : "#5cb85c",
"text_color" : "#FFFFFF",
"name" : "enhancement",
"description": "기능 향상 제안",
"description_html": "기능 향상 제안",
"open_issues_count": 1,
"closed_issues_count": 0,
"open_merge_requests_count": 1,
"subscribed": true,
"priority": null,
"is_project_label": true
}
]
단일 프로젝트 레이블 가져오기
지정된 프로젝트의 단일 레이블을 가져옵니다.
GET /projects/:id/labels/:label_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수 또는 문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL로 인코딩된 경로 |
label_id
| 정수 또는 문자열 | 예 | 프로젝트 레이블의 ID 또는 제목 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/labels/bug"
응답 예시:
{
"id" : 1,
"name" : "bug",
"color" : "#d9534f",
"text_color" : "#FFFFFF",
"description": "사용자가 신고한 버그",
"description_html": "사용자가 신고한 버그",
"open_issues_count": 1,
"closed_issues_count": 0,
"open_merge_requests_count": 1,
"subscribed": false,
"priority": 10,
"is_project_label": true
}
새 레이블 생성
지정된 리포지터리에 지정된 이름과 색상으로 새 레이블을 생성합니다.
POST /projects/:id/labels
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL로 인코딩된 경로 |
name
| 문자열 | 예 | 레이블의 이름 |
color
| 문자열 | 예 | 6자리 16진수 표기법 또는 CSS 색상 이름으로 제공된 레이블의 색상. |
description
| 문자열 | 아니요 | 레이블에 대한 설명 |
priority
| 정수 | 아니요 | 레이블의 우선 순위. 0 이상이거나 null 이어야 하며 우선 순위를 제거하려면 null 을 입력합니다.
|
curl --data "name=feature&color=#5843AD" --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/labels"
응답 예시:
{
"id" : 10,
"name" : "feature",
"color" : "#5843AD",
"text_color" : "#FFFFFF",
"description":null,
"description_html":null,
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": false,
"priority": null,
"is_project_label": true
}
레이블 삭제
지정된 이름의 레이블을 삭제합니다.
DELETE /projects/:id/labels/:label_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수 또는 문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL로 인코딩된 경로 |
label_id
| 정수 또는 문자열 | 예 | 그룹 레이블의 ID 또는 제목 |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/labels/bug"
DELETE /projects/:id/labels
와 매개변수에 name
이 있는 이전 엔드포인트는 여전히 사용 가능하지만 사용이 중단되었습니다.기존 라벨 편집
기존 라벨의 이름이나 색상을 업데이트합니다. 라벨을 업데이트하려면 적어도 하나의 매개변수가 필요합니다.
PUT /projects/:id/labels/:label_id
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수 또는 문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL 인코딩된 경로 |
label_id
| 정수 또는 문자열 | 예 | 그룹 라벨의 ID 또는 제목 |
new_name
| 문자열 |
color 가 제공되지 않는 경우 필수
| 라벨의 새 이름 |
color
| 문자열 |
new_name 이 제공되지 않는 경우 필수
| 라벨의 색상. 6자리 16진수 표기법으로 시작하는 ‘#’ 기호 (예: #FFAABB), 또는 CSS 색상 이름 중 하나 |
description
| 문자열 | 아니오 | 라벨의 새 설명 |
priority
| 정수 | 아니오 | 라벨의 새 우선 순위. 0 이상이거나 우선 순위를 제거하려면 null
|
curl --request PUT --data "new_name=docs&color=#8E44AD&description=Documentation" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/labels/documentation"
예시 응답:
{
"id" : 8,
"name" : "docs",
"color" : "#8E44AD",
"text_color" : "#FFFFFF",
"description": "Documentation",
"description_html": "Documentation",
"open_issues_count": 1,
"closed_issues_count": 0,
"open_merge_requests_count": 2,
"subscribed": false,
"priority": null,
"is_project_label": true
}
name
또는 label_id
를 매개변수로 사용하는 이전 버전의 PUT /projects/:id/labels
엔드포인트는 여전히 사용 가능하지만 폐기되었습니다.프로젝트 라벨을 그룹 라벨로 승격
프로젝트 라벨을 그룹 라벨로 승격합니다. 라벨은 해당 ID를 유지합니다.
PUT /projects/:id/labels/:label_id/promote
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수 또는 문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL 인코딩된 경로 |
label_id
| 정수 또는 문자열 | 예 | 그룹 라벨의 ID 또는 제목 |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/labels/documentation/promote"
예시 응답:
{
"id" : 8,
"name" : "documentation",
"color" : "#8E44AD",
"description": "Documentation",
"description_html": "Documentation",
"open_issues_count": 1,
"closed_issues_count": 0,
"open_merge_requests_count": 2,
"subscribed": false
}
name
을 매개변수로 사용하는 이전 버전의 PUT /projects/:id/labels/promote
엔드포인트는 여전히 사용 가능하지만 폐기되었습니다.라벨 구독
인증된 사용자가 알림을 받기 위해 라벨에 구독합니다. 이미 라벨을 구독 중인 경우 상태 코드 304
가 반환됩니다.
POST /projects/:id/labels/:label_id/subscribe
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수 또는 문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL 인코딩된 경로 |
label_id
| 정수 또는 문자열 | 예 | 프로젝트 라벨의 ID 또는 제목 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/labels/1/subscribe"
예시 응답:
{
"id" : 1,
"name" : "bug",
"color" : "#d9534f",
"text_color" : "#FFFFFF",
"description": "Bug reported by user",
"description_html": "Bug reported by user",
"open_issues_count": 1,
"closed_issues_count": 0,
"open_merge_requests_count": 1,
"subscribed": true,
"priority": null,
"is_project_label": true
}
라벨 구독 취소
인증된 사용자를 라벨에서 구독 해지하여 해당 라벨로부터 알림을 받지 않습니다. 사용자가 해당 라벨을 구독하지 않은 경우 상태 코드 304
가 반환됩니다.
POST /projects/:id/labels/:label_id/unsubscribe
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수 또는 문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL 인코딩된 경로 |
label_id
| 정수 또는 문자열 | 예 | 프로젝트 라벨의 ID 또는 제목 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/labels/1/unsubscribe"