그룹 라벨 API
Tier: Free, Premium, Ultimate
Offering: GitLab.com, Self-Managed형, GitLab Dedicated
이 API는 그룹 라벨 관리를 지원합니다. 사용자들은 그룹 라벨을 나열, 생성, 업데이트 및 삭제할 수 있습니다. 더 나아가 사용자들은 그룹 라벨을 구독하거나 구독을 취소할 수 있습니다.
그룹 라벨 나열
주어진 그룹의 모든 라벨을 가져옵니다.
GET /groups/:id/labels
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로 |
with_counts
| 부울 | 아니요 | 이슈 및 합병 요청 횟수를 포함할지 여부. 기본값은 false 입니다.
|
include_ancestor_groups
| 부울 | 아니요 | 상위 그룹을 포함할지 여부. 기본값은 true 입니다.
|
include_descendant_groups
| 부울 | 아니요 | 하위 그룹을 포함할지 여부. 기본값은 false 입니다.
|
only_group_labels
| 부울 | 아니요 | 그룹 라벨만 포함할지 또는 프로젝트 라벨도 포함할지를 토글합니다. 기본값은 true 입니다.
|
search
| 문자열 | 아니요 | 라벨을 필터링하는 키워드입니다. |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/labels?with_counts=true"
예시 응답:
[
{
"id": 7,
"name": "bug",
"color": "#FF0000",
"text_color" : "#FFFFFF",
"description": null,
"description_html": null,
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": false
},
{
"id": 4,
"name": "feature",
"color": "#228B22",
"text_color" : "#FFFFFF",
"description": null,
"description_html": null,
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": false
}
]
단일 그룹 라벨 가져오기
주어진 그룹의 단일 라벨을 가져옵니다.
GET /groups/:id/labels/:label_id
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
id
| 정수 또는 문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로 |
label_id
| 정수 또는 문자열 | 예 | 그룹 라벨의 ID 또는 제목. |
include_ancestor_groups
| 부울 | 아니요 | 상위 그룹을 포함할지 여부. 기본값은 true 입니다.
|
include_descendant_groups
| 부울 | 아니요 | 하위 그룹을 포함할지 여부. 기본값은 false 입니다.
|
only_group_labels
| 부울 | 아니요 | 그룹 라벨만 포함할지 또는 프로젝트 라벨도 포함할지를 토글합니다. 기본값은 true 입니다.
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/labels/bug"
예시 응답:
{
"id": 7,
"name": "bug",
"color": "#FF0000",
"text_color" : "#FFFFFF",
"description": null,
"description_html": null,
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": false
}
새 그룹 라벨 생성
주어진 그룹을 위해 새 그룹 라벨을 생성합니다.
POST /groups/:id/labels
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로 |
name
| 문자열 | 예 | 라벨의 이름 |
color
| 문자열 | 예 | 6자리 16진수 표기법으로 표시된 라벨의 색상(‘#’ 기호와 함께, 예: #FFAABB) 또는 CSS 색상 이름 중 하나 |
description
| 문자열 | 아니요 | 라벨의 설명 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"name": "Feature Proposal", "color": "#FFA500", "description": "신규 아이디어를 설명합니다" }' \
"https://gitlab.example.com/api/v4/groups/5/labels"
예시 응답:
{
"id": 9,
"name": "Feature Proposal",
"color": "#FFA500",
"text_color" : "#FFFFFF",
"description": "신규 아이디어를 설명합니다",
"description_html": "신규 아이디어를 설명합니다",
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": false
}
그룹 라벨 업데이트
기존의 그룹 라벨을 업데이트합니다. 그룹 라벨을 업데이트하려면 적어도 하나의 매개변수가 필요합니다.
PUT /groups/:id/labels/:label_id
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
id
| 정수 또는 문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로 |
label_id
| 정수 또는 문자열 | 예 | 그룹 라벨의 ID 또는 제목 |
new_name
| 문자열 | 아니요 | 라벨의 새 이름 |
color
| 문자열 | 아니요 | 6자리 16진수 표기법으로 표시된 라벨의 색상(‘#’ 기호와 함께, 예: #FFAABB) 또는 CSS 색상 이름 중 하나 |
description
| 문자열 | 아니요 | 라벨의 설명 |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"new_name": "Feature Idea" }' "https://gitlab.example.com/api/v4/groups/5/labels/Feature%20Proposal"
예시 응답:
{
"id": 9,
"name": "Feature Idea",
"color": "#FFA500",
"text_color" : "#FFFFFF",
"description": "신규 아이디어를 설명합니다",
"description_html": "신규 아이디어를 설명합니다",
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": false
}
매개변수 중
name
이 포함된 이전 엔드포인트 PUT /groups/:id/labels
는 여전히 사용 가능하지만 사용이 지양됩니다.그룹 라벨 삭제
주어진 이름의 그룹 라벨을 삭제합니다.
DELETE /groups/: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/groups/5/labels/bug"
매개변수 중
name
이 포함된 이전 엔드포인트 DELETE /groups/:id/labels
는 여전히 사용 가능하지만 사용이 지양됩니다.그룹 레이블 구독
인증된 사용자가 알림을 받기 위해 그룹 레이블을 구독합니다. 사용자가 이미 레이블을 구독한 경우, 상태 코드 304
가 반환됩니다.
POST /groups/: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/groups/5/labels/9/subscribe"
예시 응답:
{
"id": 9,
"name": "Feature Idea",
"color": "#FFA500",
"text_color" : "#FFFFFF",
"description": "새로운 아이디어를 설명합니다",
"description_html": "새로운 아이디어를 설명합니다",
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": true
}
그룹 레이블 구독 취소
인증된 사용자가 그룹 레이블의 알림을 받지 않도록 그룹 레이블의 구독을 취소합니다. 사용자가 레이블을 구독하지 않은 경우, 상태 코드 304
가 반환됩니다.
POST /groups/: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/groups/5/labels/9/unsubscribe"
예시 응답:
{
"id": 9,
"name": "Feature Idea",
"color": "#FFA500",
"text_color" : "#FFFFFF",
"description": "새로운 아이디어를 설명합니다",
"description_html": "새로운 아이디어를 설명합니다",
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": false
}