그룹 라벨 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
}
note
매개변수 중 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"
note
매개변수 중 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
}