- 프로젝트 이슈 보드 디렉터리
- 단일 이슈 보드 표시
- 이슈 보드 생성
- 이슈 보드 업데이트
- 이슈 보드 삭제
- 프로젝트 이슈 보드의 보드 디렉터리 나열
- 단일 보드 디렉터리 표시
- 보드 디렉터리 생성
- 보드에서 디렉터리 재정렬
- 보드에서 디렉터리 삭제
프로젝트 이슈 보드 API
이슈 보드에 대한 모든 API 호출은 인증되어야 합니다.
사용자가 비공개 프로젝트의 구성원이 아닌 경우, 해당 프로젝트에 대한 GET
요청은 404
상태 코드로 결과됩니다.
프로젝트 이슈 보드 디렉터리
주어진 프로젝트의 이슈 보드를 나열합니다.
GET /projects/:id/boards
| 속성 | 유형 | 필수 | 설명 |
| —- | —- | —- | — |
| id
| integer/string | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL-인코딩된 경로 |
shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards"
예시 응답:
[
{
"id" : 1,
"name": "board1",
"project": {
"id": 5,
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site"
},
"milestone": {
"id": 12,
"title": "10.0"
},
"lists" : [
{
"id" : 1,
"label" : {
"name" : "Testing",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1,
"max_issue_count": 0,
"max_issue_weight": 0,
"limit_metric": null
},
{
"id" : 2,
"label" : {
"name" : "Ready",
"color" : "#FF0000",
"description" : null
},
"position" : 2,
"max_issue_count": 0,
"max_issue_weight": 0,
"limit_metric": null
},
{
"id" : 3,
"label" : {
"name" : "Production",
"color" : "#FF5F00",
"description" : null
},
"position" : 3,
"max_issue_count": 0,
"max_issue_weight": 0,
"limit_metric": null
}
]
}
]
프로젝트에 활성화되거나 존재하는 보드가 없는 경우 다른 예시 응답:
[]
단일 이슈 보드 표시
단일 프로젝트 이슈 보드를 가져옵니다.
GET /projects/:id/boards/:board_id
| 속성 | 유형 | 필수 | 설명 |
| —- | —- | —- | — |
| id
| integer/string | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL-인코딩된 경로 |
| board_id
| integer | 예 | 보드의 ID |
shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1"
예시 응답:
{
"id": 1,
"name": "project issue board",
"project": {
"id": 5,
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site"
},
"milestone": {
"id": 12,
"title": "10.0"
},
"lists" : [
{
"id" : 1,
"label" : {
"name" : "Testing",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1,
"max_issue_count": 0,
"max_issue_weight": 0,
"limit_metric": null
},
{
"id" : 2,
"label" : {
"name" : "Ready",
"color" : "#FF0000",
"description" : null
},
"position" : 2,
"max_issue_count": 0,
"max_issue_weight": 0,
"limit_metric": null
},
{
"id" : 3,
"label" : {
"name" : "Production",
"color" : "#FF5F00",
"description" : null
},
"position" : 3,
"max_issue_count": 0,
"max_issue_weight": 0,
"limit_metric": null
}
]
}
이슈 보드 생성
프로젝트 이슈 보드를 생성합니다.
POST /projects/:id/boards
| 속성 | 유형 | 필수 | 설명 |
| —- | —- | —- | — |
| id
| integer/string | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL-인코딩된 경로 |
| name
| string | 예 | 새 보드의 이름 |
shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards?name=newboard"
예시 응답:
{
"id": 1,
"project": {
"id": 5,
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site"
},
"name": "newboard",
"lists" : [],
"group": null,
"milestone": null,
"assignee" : null,
"labels" : [],
"weight" : null
}
이슈 보드 업데이트
- GitLab 11.1에서 도입되었습니다.
프로젝트 이슈 보드를 업데이트합니다.
PUT /projects/:id/boards/:board_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL 인코딩 경로 |
board_id
| 정수 | 예 | 보드의 ID |
name
| 문자열 | 아니요 | 보드의 새 이름 |
assignee_id
| 정수 | 아니요 | 보드가 지정된 담당자. Premium 및 Ultimate 전용 |
milestone_id
| 정수 | 아니요 | 보드가 대상으로 설정된 마일스톤. Premium 및 Ultimate 전용 |
labels
| 문자열 | 아니요 | 보드가 대상으로 설정된 라벨 이름의 쉼표로 구분된 디렉터리. Premium 및 Ultimate 전용 |
weight
| 정수 | 아니요 | 보드가 대상으로 설정된 무게 범위(0에서 9). Premium 및 Ultimate 전용 |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1?name=new_name&milestone_id=43&assignee_id=1&labels=Doing&weight=4"
예시 응답:
{
"id": 1,
"project": {
"id": 5,
"name": "디아스포라 프로젝트 사이트",
"name_with_namespace": "데아스포라 / 디아스포라 프로젝트 사이트",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"created_at": "2018-07-03T05:48:49.982Z",
"default_branch": null,
"tag_list": [], //deprecated, use `topics` instead
"topics": [],
"ssh_url_to_repo": "ssh://user@example.com/diaspora/diaspora-project-site.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site",
"readme_url": null,
"avatar_url": null,
"star_count": 0,
"forks_count": 0,
"last_activity_at": "2018-07-03T05:48:49.982Z"
},
"lists": [],
"name": "new_name",
"group": null,
"milestone": {
"id": 43,
"iid": 1,
"project_id": 15,
"title": "마일스톤 1",
"description": "마일스톤 1 설명",
"state": "active",
"created_at": "2018-07-03T06:36:42.618Z",
"updated_at": "2018-07-03T06:36:42.618Z",
"due_date": null,
"start_date": null,
"web_url": "http://example.com/root/board1/milestones/1"
},
"assignee": {
"id": 1,
"name": "관리자",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://example.com/root"
},
"labels": [{
"id": 10,
"name": "Doing",
"color": "#5CB85C",
"description": null
}],
"weight": 4
}
이슈 보드 삭제
프로젝트 이슈 보드를 삭제합니다.
DELETE /projects/:id/boards/:board_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL 인코딩 경로 |
board_id
| 정수 | 예 | 보드의 ID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1"
프로젝트 이슈 보드의 보드 디렉터리 나열
보드의 디렉터리을 가져옵니다.
open
및 closed
디렉터리은 포함되지 않습니다.
GET /projects/:id/boards/:board_id/lists
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL 인코딩 경로 |
board_id
| 정수 | 예 | 보드의 ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1/lists"
예시 응답:
[
{
"id" : 1,
"label" : {
"name" : "테스팅",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1,
"max_issue_count": 0,
"max_issue_weight": 0,
"limit_metric": null
},
{
"id" : 2,
"label" : {
"name" : "준비됨",
"color" : "#FF0000",
"description" : null
},
"position" : 2,
"max_issue_count": 0,
"max_issue_weight": 0,
"limit_metric": null
},
{
"id" : 3,
"label" : {
"name" : "프로덕션",
"color" : "#FF5F00",
"description" : null
},
"position" : 3,
"max_issue_count": 0,
"max_issue_weight": 0,
"limit_metric": null
}
]
단일 보드 디렉터리 표시
단일 보드 디렉터리을 가져옵니다.
GET /projects/:id/boards/:board_id/lists/:list_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL 인코딩된 경로입니다. |
board_id
| 정수 | 예 | 보드의 ID입니다. |
list_id
| 정수 | 예 | 보드 디렉터리의 ID입니다. |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1/lists/1"
예시 응답:
{
"id" : 1,
"label" : {
"name" : "Testing",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1,
"max_issue_count": 0,
"max_issue_weight": 0,
"limit_metric": null
}
보드 디렉터리 생성
새 이슈 보드 디렉터리을 만듭니다.
POST /projects/:id/boards/:board_id/lists
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL 인코딩된 경로입니다. |
board_id
| 정수 | 예 | 보드의 ID입니다. |
label_id
| 정수 | 아니요 | 레이블의 ID입니다. |
assignee_id
| 정수 | 아니요 | 사용자의 ID입니다. Premium 및 Ultimate 전용입니다. |
milestone_id
| 정수 | 아니요 | 마일스톤의 ID입니다. Premium 및 Ultimate 전용입니다. |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1/lists?label_id=5"
예시 응답:
{
"id" : 1,
"label" : {
"name" : "Testing",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1,
"max_issue_count": 0,
"max_issue_weight": 0,
"limit_metric": null
}
보드에서 디렉터리 재정렬
기존 이슈 보드 디렉터리을 업데이트합니다. 이 호출은 디렉터리 위치를 변경하는 데 사용됩니다.
PUT /projects/:id/boards/:board_id/lists/:list_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL 인코딩된 경로입니다. |
board_id
| 정수 | 예 | 보드의 ID입니다. |
list_id
| 정수 | 예 | 보드 디렉터리의 ID입니다. |
position
| 정수 | 예 | 디렉터리의 위치입니다. |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1/lists/1?position=2"
예시 응답:
{
"id" : 1,
"label" : {
"name" : "Testing",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1,
"max_issue_count": 0,
"max_issue_weight": 0,
"limit_metric": null
}
보드에서 디렉터리 삭제
관리자 및 프로젝트 소유자 전용입니다. 보드 디렉터리을 삭제합니다.
DELETE /projects/:id/boards/:board_id/lists/:list_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 프로젝트의 ID 또는 URL 인코딩된 경로입니다. |
board_id
| 정수 | 예 | 보드의 ID입니다. |
list_id
| 정수 | 예 | 보드 디렉터리의 ID입니다. |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1/lists/1"