그룹 이슈 보드 API
GitLab v19.5Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
그룹 이슈 보드를 관리하려면 이 API를 사용합니다. 사용자가 그룹의 멤버가 아니고 그룹이 비공개이면 GET 요청은 404 상태 코드를 반환합니다. 지정한 그룹의 모든 그룹 이슈 보드를 조회합니다. GitLab Premium 또는 Ultimate 사용자에게는 다중 그룹 보드를 지원하는 티어이므로 다른 파라미터가 표시됩니다.
그룹 이슈 보드를 관리하려면 이 API를 사용합니다. 이 API의 모든 호출에는 인증이 필요합니다.
사용자가 그룹의 멤버가 아니고 그룹이 비공개이면 GET
요청은 404 상태 코드를 반환합니다.
그룹의 모든 그룹 이슈 보드 조회#
지정한 그룹의 모든 그룹 이슈 보드를 조회합니다.
GET /groups/:id/boards
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/boards"
응답 예시:
[
{
"id": 1,
"name": "group issue board",
"hide_backlog_list": false,
"hide_closed_list": false,
"group": {
"id": 5,
"name": "Documentcloud",
"web_url": "http://example.com/groups/documentcloud"
},
"milestone": {
"id": 12,
"title": "10.0"
},
"lists" : [
{
"id" : 1,
"label" : {
"name" : "Testing",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1
},
{
"id" : 2,
"label" : {
"name" : "Ready",
"color" : "#FF0000",
"description" : null
},
"position" : 2
},
{
"id" : 3,
"label" : {
"name" : "Production",
"color" : "#FF5F00",
"description" : null
},
"position" : 3
}
]
}
]
GitLab Premium 또는 Ultimate 사용자에게는 다중 그룹 보드를 지원하는 티어이므로 다른 파라미터가 표시됩니다.
응답 예시:
[
{
"id": 1,
"name": "group issue board",
"hide_backlog_list": false,
"hide_closed_list": false,
"group": {
"id": 5,
"name": "Documentcloud",
"web_url": "http://example.com/groups/documentcloud"
},
"milestone": {
"id": 12,
"title": "10.0"
},
"lists" : [
{
"id" : 1,
"label" : {
"name" : "Testing",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1
},
{
"id" : 2,
"label" : {
"name" : "Ready",
"color" : "#FF0000",
"description" : null
},
"position" : 2
},
{
"id" : 3,
"label" : {
"name" : "Production",
"color" : "#FF5F00",
"description" : null
},
"position" : 3
}
]
}
]
그룹 이슈 보드 상세 조회#
지정한 그룹 이슈 보드를 조회합니다.
GET /groups/:id/boards/:board_id
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
board_id |
integer | 예 | 보드의 ID. |
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/boards/1"
응답 예시:
{
"id": 1,
"name": "group issue board",
"hide_backlog_list": false,
"hide_closed_list": false,
"group": {
"id": 5,
"name": "Documentcloud",
"web_url": "http://example.com/groups/documentcloud"
},
"milestone": {
"id": 12,
"title": "10.0"
},
"lists" : [
{
"id" : 1,
"label" : {
"name" : "Testing",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1
},
{
"id" : 2,
"label" : {
"name" : "Ready",
"color" : "#FF0000",
"description" : null
},
"position" : 2
},
{
"id" : 3,
"label" : {
"name" : "Production",
"color" : "#FF5F00",
"description" : null
},
"position" : 3
}
]
}
GitLab Premium 또는 Ultimate 사용자에게는 다중 그룹 이슈 보드를 지원하는 티어이므로 다른 파라미터가 표시됩니다.
응답 예시:
{
"id": 1,
"name": "group issue board",
"hide_backlog_list": false,
"hide_closed_list": false,
"group": {
"id": 5,
"name": "Documentcloud",
"web_url": "http://example.com/groups/documentcloud"
},
"milestone": {
"id": 12,
"title": "10.0"
},
"lists" : [
{
"id" : 1,
"label" : {
"name" : "Testing",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1
},
{
"id" : 2,
"label" : {
"name" : "Ready",
"color" : "#FF0000",
"description" : null
},
"position" : 2
},
{
"id" : 3,
"label" : {
"name" : "Production",
"color" : "#FF5F00",
"description" : null
},
"position" : 3
}
]
}
그룹 이슈 보드 생성#
지정한 그룹에 그룹 이슈 보드를 생성합니다.
POST /groups/:id/boards
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
name |
string | 예 | 새 보드의 이름. 최대 255자. |
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/boards?name=newboard"
응답 예시:
{
"id": 1,
"name": "newboard",
"hide_backlog_list": false,
"hide_closed_list": false,
"project": null,
"lists" : [],
"group": {
"id": 5,
"name": "Documentcloud",
"web_url": "http://example.com/groups/documentcloud"
},
"milestone": null,
"assignee" : null,
"labels" : [],
"weight" : null
}
그룹 이슈 보드 업데이트#
지정한 그룹 이슈 보드를 업데이트합니다.
PUT /groups/:id/boards/:board_id
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
board_id |
integer | 예 | 보드의 ID. |
name |
string | 아니요 | 보드의 새 이름. 최대 255자. |
hide_backlog_list |
boolean | 아니요 | Open 리스트를 숨깁니다. |
hide_closed_list |
boolean | 아니요 | Closed 리스트를 숨깁니다. |
assignee_id |
integer | 아니요 | 보드 범위를 한정할 담당자. Premium 및 Ultimate 전용. |
milestone_id |
integer | 아니요 | 보드 범위를 한정할 마일스톤. Premium 및 Ultimate 전용. |
labels |
string | 아니요 | 보드 범위를 한정할 레이블 이름의 쉼표 구분 목록. Premium 및 Ultimate 전용. |
weight |
integer | 아니요 | 보드 범위를 한정할 0부터 9까지의 가중치 범위. Premium 및 Ultimate 전용. |
curl --request PUT \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/boards/1?name=new_name&milestone_id=44&assignee_id=1&labels=GroupLabel&weight=4"
응답 예시:
{
"id": 1,
"name": "new_name",
"hide_backlog_list": false,
"hide_closed_list": false,
"project": null,
"lists": [],
"group": {
"id": 5,
"name": "Documentcloud",
"web_url": "http://example.com/groups/documentcloud"
},
"milestone": {
"id": 44,
"iid": 1,
"group_id": 5,
"title": "Group Milestone",
"description": "Group Milestone Desc",
"state": "active",
"created_at": "2018-07-03T07:15:19.271Z",
"updated_at": "2018-07-03T07:15:19.271Z",
"due_date": null,
"start_date": null,
"web_url": "http://example.com/groups/documentcloud/-/milestones/1"
},
"assignee": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://example.com/root"
},
"labels": [{
"id": 11,
"name": "GroupLabel",
"color": "#428BCA",
"description": ""
}],
"weight": 4
}
그룹 이슈 보드 삭제#
지정한 그룹 이슈 보드를 삭제합니다.
DELETE /groups/:id/boards/:board_id
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
board_id |
integer | 예 | 보드의 ID. |
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/boards/1"
그룹 이슈 보드 리스트 목록 조회#
지정한 보드의 모든 그룹 이슈 보드 리스트를 조회합니다. open 및 closed 리스트는 포함되지 않습니다.
GET /groups/:id/boards/:board_id/lists
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
board_id |
integer | 예 | 보드의 ID. |
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/boards/1/lists"
응답 예시:
[
{
"id" : 1,
"label" : {
"name" : "Testing",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1
},
{
"id" : 2,
"label" : {
"name" : "Ready",
"color" : "#FF0000",
"description" : null
},
"position" : 2
},
{
"id" : 3,
"label" : {
"name" : "Production",
"color" : "#FF5F00",
"description" : null
},
"position" : 3
}
]
그룹 이슈 보드 리스트 상세 조회#
지정한 그룹 이슈 보드 리스트를 조회합니다.
GET /groups/:id/boards/:board_id/lists/:list_id
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
board_id |
integer | 예 | 보드의 ID. |
list_id |
integer | 예 | 보드 리스트의 ID. |
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/boards/1/lists/1"
응답 예시:
{
"id" : 1,
"label" : {
"name" : "Testing",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1
}
그룹 이슈 보드 리스트 생성#
지정한 보드에 그룹 이슈 보드 리스트를 생성합니다.
POST /groups/:id/boards/:board_id/lists
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
board_id |
integer | 예 | 보드의 ID. |
label_id |
integer | 아니요 | 레이블의 ID. |
assignee_id |
integer | 아니요 | 사용자의 ID. Premium 및 Ultimate 전용. |
milestone_id |
integer | 아니요 | 마일스톤의 ID. Premium 및 Ultimate 전용. |
iteration_id |
integer | 아니요 | 이터레이션의 ID. Premium 및 Ultimate 전용. |
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/boards/12/lists?milestone_id=7"
응답 예시:
{
"id": 9,
"label": null,
"position": 0,
"milestone": {
"id": 7,
"iid": 3,
"group_id": 12,
"title": "Milestone with due date",
"description": "",
"state": "active",
"created_at": "2017-09-03T07:16:28.596Z",
"updated_at": "2017-09-03T07:16:49.521Z",
"due_date": null,
"start_date": null,
"web_url": "https://gitlab.example.com/groups/issue-reproduce/-/milestones/3"
}
}
그룹 이슈 보드 리스트 업데이트#
지정한 그룹 이슈 보드 리스트를 업데이트합니다. 이 호출은 리스트 위치를 변경할 때 사용합니다.
PUT /groups/:id/boards/:board_id/lists/:list_id
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
board_id |
integer | 예 | 보드의 ID. |
list_id |
integer | 예 | 보드 리스트의 ID. |
position |
integer | 예 | 리스트의 위치. |
curl --request PUT \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/boards/1/lists/1?position=2"
응답 예시:
{
"id" : 1,
"label" : {
"name" : "Testing",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1
}
그룹 이슈 보드 리스트 삭제#
지정한 그룹 이슈 보드 리스트를 삭제합니다. 관리자와 그룹 Owner만 사용할 수 있습니다.
DELETE /groups/:id/boards/:board_id/lists/:list_id
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
board_id |
integer | 예 | 보드의 ID. |
list_id |
integer | 예 | 보드 리스트의 ID. |
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/boards/1/lists/1"