그룹 레이블 API

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

이 API는 그룹 레이블을 관리하는 데 도움이 됩니다. 사용자는 그룹 레이블을 나열하고, 생성하고, 업데이트하고, 삭제할 수 있습니다. 더불어, 사용자는 그룹 레이블을 구독하거나 구독을 취소할 수 있습니다.

note
description_html -가 GitLab 12.7의 응답 JSON에 추가되었습니다.

그룹 레이블 나열

주어진 그룹에 대한 모든 레이블을 가져옵니다.

GET /groups/:id/labels
속성 타입 필수 설명
id integer/string 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로
with_counts boolean 아니오 이슈 및 Merge Request 개수를 포함할지 여부를 나타냅니다. 기본값은 false입니다. (GitLab 12.2에서 도입됨)
include_ancestor_groups boolean 아니오 상위 그룹을 포함할지 여부입니다. 기본값은 true입니다.
include_descendant_groups boolean 아니오 하위 그룹을 포함할지 여부입니다. 기본값은 false입니다. GitLab 13.6에서 도입됨
only_group_labels boolean 아니오 그룹 레이블만 포함할지, 또는 프로젝트 레이블도 포함할지를 전환합니다. 기본값은 true입니다. GitLab 13.6에서 도입됨
search string 아니오 레이블을 필터링하는 데 사용되는 키워드입니다. GitLab 13.6에서 도입됨
curl --헤더 "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 integer or string 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로
label_id integer or string 그룹 레이블의 ID 또는 제목입니다.
include_ancestor_groups boolean 아니오 상위 그룹을 포함할지 여부입니다. 기본값은 true입니다.
include_descendant_groups boolean 아니오 하위 그룹을 포함할지 여부입니다. 기본값은 false입니다. GitLab 13.6에서 도입됨
only_group_labels boolean 아니오 그룹 레이블만 포함할지, 또는 프로젝트 레이블도 포함할지를 전환합니다. 기본값은 true입니다. GitLab 13.6에서 도입됨
curl --헤더 "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 integer/string 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로
name string 레이블의 이름
color string 레이블의 색상으로, 6자리 16진수 표기법 앞에 # 기호가 붙은 방식 (예: #FFAABB) 또는 CSS 색상 이름 중 하나
description string 아니오 레이블의 설명
curl --요청 POST --헤더 "PRIVATE-TOKEN: <your_access_token>" --헤더 "Content-Type: application/json" \
     --데이터 '{"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-encoded 경로
label_id 정수 또는 문자열 그룹 레이블의 ID 또는 제목
new_name 문자열 아니요 레이블의 새 이름
color 문자열 아니요 6자리 16진수 표기법으로 제공된 레이블의 색상(예: #FFAABB) 또는 CSS color names 중 하나
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-encoded 경로
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-encoded 경로
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-encoded 경로
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
}