레이블 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"
note
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
}
note
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
}
note
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"