InfoGrab Docs

프로젝트 레이블 API

요약

이 API를 사용하여 프로젝트 레이블을 관리합니다. 그룹 레이블의 경우 그룹 레이블 API를 사용합니다. 지정된 프로젝트의 모든 레이블을 나열합니다. 기본적으로 이 요청은 API 결과가 페이지네이션되기 때문에 한 번에 20개의 결과를 반환합니다.

히스토리
  • archived 속성이 GitLab 18.3에서 labels_archive라는 플래그와 함께 도입되었습니다.
  • GitLab 18.10에서 일반 공개되었습니다. 기능 플래그 labels_archive가 제거되었습니다.

이 API를 사용하여 프로젝트 레이블을 관리합니다.

그룹 레이블의 경우 그룹 레이블 API를 사용합니다.

모든 프로젝트 레이블 목록 조회#

지정된 프로젝트의 모든 레이블을 나열합니다.

기본적으로 이 요청은 API 결과가 페이지네이션되기 때문에 한 번에 20개의 결과를 반환합니다.

GET /projects/:id/labels
속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
with_counts 불리언 아니요 이슈 및 머지 리퀘스트 수를 포함할지 여부. 기본값은 false.
include_ancestor_groups 불리언 아니요 상위 그룹 포함. 기본값은 true.
search 문자열 아니요 레이블을 필터링할 키워드.
archived 불리언 아니요 true이면 보관된 레이블만 반환합니다. 설정하지 않으면 모든 레이블을 반환합니다.
curl \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/labels?with_counts=true"

응답 예시:

[
  {
    "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": false,
    "priority": 10,
    "is_project_label": true,
    "archived": false
  },
  {
    "id" : 4,
    "color" : "#d9534f",
    "text_color" : "#FFFFFF",
    "name" : "confirmed",
    "description": "Confirmed issue",
    "description_html": "Confirmed issue",
    "open_issues_count": 2,
    "closed_issues_count": 5,
    "open_merge_requests_count": 0,
    "subscribed": false,
    "priority": null,
    "is_project_label": true,
    "archived": false
  },
  {
    "id" : 7,
    "name" : "critical",
    "color" : "#d9534f",
    "text_color" : "#FFFFFF",
    "description": "Critical issue. Need fix ASAP",
    "description_html": "Critical issue. Need fix ASAP",
    "open_issues_count": 1,
    "closed_issues_count": 3,
    "open_merge_requests_count": 1,
    "subscribed": false,
    "priority": null,
    "is_project_label": true,
    "archived": false
  },
  {
    "id" : 8,
    "name" : "documentation",
    "color" : "#f0ad4e",
    "text_color" : "#FFFFFF",
    "description": "Issue about documentation",
    "description_html": "Issue about documentation",
    "open_issues_count": 1,
    "closed_issues_count": 0,
    "open_merge_requests_count": 2,
    "subscribed": false,
    "priority": null,
    "is_project_label": false,
    "archived": false
  },
  {
    "id" : 9,
    "color" : "#5cb85c",
    "text_color" : "#FFFFFF",
    "name" : "enhancement",
    "description": "Enhancement proposal",
    "description_html": "Enhancement proposal",
    "open_issues_count": 1,
    "closed_issues_count": 0,
    "open_merge_requests_count": 1,
    "subscribed": true,
    "priority": null,
    "is_project_label": true,
    "archived": false
  }
]

프로젝트 레이블 조회#

지정된 프로젝트의 특정 레이블을 조회합니다.

GET /projects/:id/labels/:label_id
속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
label_id 정수 또는 문자열 프로젝트 레이블의 ID 또는 제목.
include_ancestor_groups 불리언 아니요 상위 그룹 포함. 기본값은 true.
curl \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/labels/bug"

응답 예시:

{
  "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": false,
  "priority": 10,
  "is_project_label": true,
  "archived": false
}

프로젝트 레이블 생성#

지정된 이름과 색상으로 지정된 프로젝트의 레이블을 생성합니다.

POST /projects/:id/labels
속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
name 문자열 레이블의 이름
color 문자열 6자리 16진수 표기법에 선행 '#' 기호가 붙은 레이블 색상(예: #FFAABB) 또는 CSS 색상 이름 중 하나
description 문자열 아니요 레이블 설명
priority 정수 아니요 레이블의 우선순위. 우선순위를 제거하려면 0 이상 또는 null이어야 합니다.
archived 불리언 아니요 true이면 레이블을 보관 상태로 표시합니다. 기본값: false.
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/labels" \
  --data "name=feature&color=#5843AD"

응답 예시:

{
  "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,
  "archived": false
}

프로젝트 레이블 삭제#

지정된 프로젝트에서 지정된 레이블을 삭제합니다.

DELETE /projects/:id/labels/:label_id
속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
label_id 정수 또는 문자열 프로젝트 레이블의 ID 또는 제목.
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/labels/bug"
Note

매개변수에 name을 사용하는 이전 엔드포인트 DELETE /projects/:id/labels는 여전히 사용 가능하지만 더 이상 사용되지 않습니다.

프로젝트 레이블 업데이트#

새 이름이나 색상으로 지정된 프로젝트의 특정 레이블을 업데이트합니다. 레이블을 업데이트하려면 최소 하나의 매개변수가 필요합니다.

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이어야 합니다.
archived 불리언 아니요 true이면 레이블을 보관 상태로 표시합니다. 기본값: false.
curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/labels/documentation" \
  --data "new_name=docs&color=#8E44AD&description=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,
  "archived": false
}
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>" \
  --url "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,
  "archived": 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>" \
  --url "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,
  "archived": false
}

프로젝트 레이블 구독 취소#

인증된 사용자가 지정된 프로젝트 레이블 구독을 취소하여 알림을 받지 않습니다. 사용자가 레이블을 구독하지 않은 경우 상태 코드 304가 반환됩니다.

POST /projects/:id/labels/:label_id/unsubscribe
속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
label_id 정수 또는 문자열 프로젝트 레이블의 ID 또는 제목
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/labels/1/unsubscribe"

프로젝트 레이블 API

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

이 API를 사용하여 프로젝트 레이블을 관리합니다. 그룹 레이블의 경우 그룹 레이블 API를 사용합니다. 지정된 프로젝트의 모든 레이블을 나열합니다. 기본적으로 이 요청은 API 결과가 페이지네이션되기 때문에 한 번에 20개의 결과를 반환합니다.

히스토리
  • archived 속성이 GitLab 18.3에서 labels_archive라는 플래그와 함께 도입되었습니다.
  • GitLab 18.10에서 일반 공개되었습니다. 기능 플래그 labels_archive가 제거되었습니다.

이 API를 사용하여 프로젝트 레이블을 관리합니다.

그룹 레이블의 경우 그룹 레이블 API를 사용합니다.

모든 프로젝트 레이블 목록 조회#

지정된 프로젝트의 모든 레이블을 나열합니다.

기본적으로 이 요청은 API 결과가 페이지네이션되기 때문에 한 번에 20개의 결과를 반환합니다.

GET /projects/:id/labels
속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
with_counts 불리언 아니요 이슈 및 머지 리퀘스트 수를 포함할지 여부. 기본값은 false.
include_ancestor_groups 불리언 아니요 상위 그룹 포함. 기본값은 true.
search 문자열 아니요 레이블을 필터링할 키워드.
archived 불리언 아니요 true이면 보관된 레이블만 반환합니다. 설정하지 않으면 모든 레이블을 반환합니다.
curl \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/labels?with_counts=true"

응답 예시:

[
  {
    "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": false,
    "priority": 10,
    "is_project_label": true,
    "archived": false
  },
  {
    "id" : 4,
    "color" : "#d9534f",
    "text_color" : "#FFFFFF",
    "name" : "confirmed",
    "description": "Confirmed issue",
    "description_html": "Confirmed issue",
    "open_issues_count": 2,
    "closed_issues_count": 5,
    "open_merge_requests_count": 0,
    "subscribed": false,
    "priority": null,
    "is_project_label": true,
    "archived": false
  },
  {
    "id" : 7,
    "name" : "critical",
    "color" : "#d9534f",
    "text_color" : "#FFFFFF",
    "description": "Critical issue. Need fix ASAP",
    "description_html": "Critical issue. Need fix ASAP",
    "open_issues_count": 1,
    "closed_issues_count": 3,
    "open_merge_requests_count": 1,
    "subscribed": false,
    "priority": null,
    "is_project_label": true,
    "archived": false
  },
  {
    "id" : 8,
    "name" : "documentation",
    "color" : "#f0ad4e",
    "text_color" : "#FFFFFF",
    "description": "Issue about documentation",
    "description_html": "Issue about documentation",
    "open_issues_count": 1,
    "closed_issues_count": 0,
    "open_merge_requests_count": 2,
    "subscribed": false,
    "priority": null,
    "is_project_label": false,
    "archived": false
  },
  {
    "id" : 9,
    "color" : "#5cb85c",
    "text_color" : "#FFFFFF",
    "name" : "enhancement",
    "description": "Enhancement proposal",
    "description_html": "Enhancement proposal",
    "open_issues_count": 1,
    "closed_issues_count": 0,
    "open_merge_requests_count": 1,
    "subscribed": true,
    "priority": null,
    "is_project_label": true,
    "archived": false
  }
]

프로젝트 레이블 조회#

지정된 프로젝트의 특정 레이블을 조회합니다.

GET /projects/:id/labels/:label_id
속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
label_id 정수 또는 문자열 프로젝트 레이블의 ID 또는 제목.
include_ancestor_groups 불리언 아니요 상위 그룹 포함. 기본값은 true.
curl \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/labels/bug"

응답 예시:

{
  "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": false,
  "priority": 10,
  "is_project_label": true,
  "archived": false
}

프로젝트 레이블 생성#

지정된 이름과 색상으로 지정된 프로젝트의 레이블을 생성합니다.

POST /projects/:id/labels
속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
name 문자열 레이블의 이름
color 문자열 6자리 16진수 표기법에 선행 '#' 기호가 붙은 레이블 색상(예: #FFAABB) 또는 CSS 색상 이름 중 하나
description 문자열 아니요 레이블 설명
priority 정수 아니요 레이블의 우선순위. 우선순위를 제거하려면 0 이상 또는 null이어야 합니다.
archived 불리언 아니요 true이면 레이블을 보관 상태로 표시합니다. 기본값: false.
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/labels" \
  --data "name=feature&color=#5843AD"

응답 예시:

{
  "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,
  "archived": false
}

프로젝트 레이블 삭제#

지정된 프로젝트에서 지정된 레이블을 삭제합니다.

DELETE /projects/:id/labels/:label_id
속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
label_id 정수 또는 문자열 프로젝트 레이블의 ID 또는 제목.
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/labels/bug"
Note

매개변수에 name을 사용하는 이전 엔드포인트 DELETE /projects/:id/labels는 여전히 사용 가능하지만 더 이상 사용되지 않습니다.

프로젝트 레이블 업데이트#

새 이름이나 색상으로 지정된 프로젝트의 특정 레이블을 업데이트합니다. 레이블을 업데이트하려면 최소 하나의 매개변수가 필요합니다.

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이어야 합니다.
archived 불리언 아니요 true이면 레이블을 보관 상태로 표시합니다. 기본값: false.
curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/labels/documentation" \
  --data "new_name=docs&color=#8E44AD&description=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,
  "archived": false
}
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>" \
  --url "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,
  "archived": 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>" \
  --url "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,
  "archived": false
}

프로젝트 레이블 구독 취소#

인증된 사용자가 지정된 프로젝트 레이블 구독을 취소하여 알림을 받지 않습니다. 사용자가 레이블을 구독하지 않은 경우 상태 코드 304가 반환됩니다.

POST /projects/:id/labels/:label_id/unsubscribe
속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
label_id 정수 또는 문자열 프로젝트 레이블의 ID 또는 제목
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/labels/1/unsubscribe"