Epic Issues API
에픽 이슈 API 엔드포인트로의 모든 API 호출은 인증되어야 합니다.
사용자가 그룹의 멤버가 아니고 그룹이 비공개인 경우, 해당 그룹에 대한 GET
요청은 404
상태 코드를 반환합니다.
에픽은 GitLab Premium 및 Ultimate에서만 사용할 수 있습니다. 에픽 기능을 사용할 수 없는 경우 403
상태 코드가 반환됩니다.
에픽 이슈 페이지네이션
API 결과는 페이지별로 표시됩니다. 여러 이슈를 반환하는 요청은 기본적으로 한 번에 20개의 결과를 반환합니다.
에픽의 이슈 디렉터리
에픽에 할당된 모든 이슈 및 인증된 사용자가 접근할 수 있는 모든 이슈를 가져옵니다.
GET /groups/:id/epics/:epic_iid/issues
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL-인코드된 경로 |
epic_iid
| 정수/문자열 | 예 | 에픽의 내부 ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5/issues/"
예시 응답:
[
{
"id": 76,
"iid": 6,
"project_id": 8,
"title" : "Consequatur vero maxime deserunt laboriosam est voluptas dolorem.",
"description" : "Ratione dolores corrupti mollitia soluta quia.",
"state": "opened",
"created_at": "2017-11-15T13:39:24.670Z",
"updated_at": "2018-01-04T10:49:19.506Z",
"closed_at": null,
"labels": [],
"milestone": {
"id": 38,
"iid": 3,
"project_id": 8,
"title": "v2.0",
"description": "In tempore culpa inventore quo accusantium.",
"state": "closed",
"created_at": "2017-11-15T13:39:13.825Z",
"updated_at": "2017-11-15T13:39:13.825Z",
"due_date": null,
"start_date": null
},
"assignees": [{
"id": 7,
"name": "Pamella Huel",
"username": "arnita",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon",
"web_url": "http://localhost:3001/arnita"
}],
"assignee": {
"id": 7,
"name": "Pamella Huel",
"username": "arnita",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon",
"web_url": "http://localhost:3001/arnita"
},
"author": {
"id": 13,
"name": "Michell Johns",
"username": "chris_hahn",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/30e3b2122ccd6b8e45e8e14a3ffb58fc?s=80&d=identicon",
"web_url": "http://localhost:3001/chris_hahn"
},
"user_notes_count": 8,
"upvotes": 0,
"downvotes": 0,
"due_date": null,
"confidential": false,
"weight": null,
"discussion_locked": null,
"web_url": "http://localhost:3001/h5bp/html5-boilerplate/issues/6",
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
},
"_links":{
"self": "http://localhost:3001/api/v4/projects/8/issues/6",
"notes": "http://localhost:3001/api/v4/projects/8/issues/6/notes",
"award_emoji": "http://localhost:3001/api/v4/projects/8/issues/6/award_emoji",
"project": "http://localhost:3001/api/v4/projects/8"
},
"epic_issue_id": 2
}
]
참고: assignee
열은 사용되지 않으며, 현재 우리는 GitLab EE API에 부합하기 위해 단일 크기의 배열 assignees
로 표시합니다.
에픽에 이슈 할당
에픽 - 이슈 연관성을 생성합니다. 해당 문제가 다른 에픽에 속한다면 해당 에픽에서 언어새됩니다.
POST /groups/:id/epics/:epic_iid/issues/:issue_id
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL-인코드된 경로 |
epic_iid
| 정수/문자열 | 예 | 에픽의 내부 ID |
issue_id
| 정수/문자열 | 예 | 이슈의 ID |
curl --header POST "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5/issues/55"
예시 응답:
{
"id": 11,
"epic": {
"id": 30,
"iid": 5,
"title": "Ea cupiditate dolores ut vero consequatur quasi veniam voluptatem et non.",
"description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.",
"author": {
"id": 7,
"name": "Pamella Huel",
"username": "arnita",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon",
"web_url": "http://localhost:3001/arnita"
},
"start_date": null,
"end_date": null
},
"issue": {
"id": 55,
"iid": 13,
"project_id": 8,
"title": "Beatae laborum voluptatem voluptate eligendi ex accusamus.",
"description": "Quam veritatis debitis omnis aliquam sit.",
"state": "opened",
"created_at": "2017-11-05T13:59:12.782Z",
"updated_at": "2018-01-05T10:33:03.900Z",
"closed_at": null,
"labels": [],
"milestone": {
"id": 48,
"iid": 6,
"project_id": 8,
"title": "Sprint - Sed sed maxime temporibus ipsa ullam qui sit.",
"description": "Quos veritatis qui expedita sunt deleniti accusamus.",
"state": "active",
"created_at": "2017-11-05T13:59:12.445Z",
"updated_at": "2017-11-05T13:59:12.445Z",
"due_date": "2017-11-13",
"start_date": "2017-11-05"
},
"assignees": [{
"id": 10,
"name": "Lu Mayer",
"username": "kam",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon",
"web_url": "http://localhost:3001/kam"
}],
"assignee": {
"id": 10,
"name": "Lu Mayer",
"username": "kam",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon",
"web_url": "http://localhost:3001/kam"
},
"author": {
"id": 25,
"name": "User 3",
"username": "user3",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/97d6d9441ff85fdc730e02a6068d267b?s=80&d=identicon",
"web_url": "http://localhost:3001/user3"
},
"user_notes_count": 0,
"upvotes": 0,
"downvotes": 0,
"due_date": null,
"confidential": false,
"weight": null,
"discussion_locked": null,
"web_url": "http://localhost:3001/h5bp/html5-boilerplate/issues/13",
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
}
}
}
참고: assignee
열은 사용되지 않으며, 현재 우리는 GitLab EE API에 부합하기 위해 단일 크기의 배열 assignees
로 표시합니다.
epic에서 이슈 삭제
에픽 - 이슈 관계를 삭제합니다.
DELETE /groups/:id/epics/:epic_iid/issues/:epic_issue_id
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩 된 경로 |
epic_iid
| 정수/문자열 | 예 | 에픽의 내부 ID. |
epic_issue_id
| 정수/문자열 | 예 | 이슈 - 에픽 관계의 ID. |
curl --header DELETE "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5/issues/11"
예시 응답:
{
"id": 11,
"epic": {
"id": 30,
"iid": 5,
"title": "Ea cupiditate dolores ut vero consequatur quasi veniam voluptatem et non.",
"description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.",
"author": {
"id": 7,
"name": "Pamella Huel",
"username": "arnita",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon",
"web_url": "http://localhost:3001/arnita"
},
"start_date": null,
"end_date": null
},
"issue": {
"id": 223,
"iid": 13,
"project_id": 8,
"title": "Beatae laborum voluptatem voluptate eligendi ex accusamus.",
"description": "Quam veritatis debitis omnis aliquam sit.",
"state": "opened",
"created_at": "2017-11-05T13:59:12.782Z",
"updated_at": "2018-01-05T10:33:03.900Z",
"closed_at": null,
"labels": [],
"milestone": {
"id": 48,
"iid": 6,
"project_id": 8,
"title": "Sprint - Sed sed maxime temporibus ipsa ullam qui sit.",
"description": "Quos veritatis qui expedita sunt deleniti accusamus.",
"state": "active",
"created_at": "2017-11-05T13:59:12.445Z",
"updated_at": "2017-11-05T13:59:12.445Z",
"due_date": "2017-11-13",
"start_date": "2017-11-05"
},
"assignees": [{
"id": 10,
"name": "Lu Mayer",
"username": "kam",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon",
"web_url": "http://localhost:3001/kam"
}],
"assignee": {
"id": 10,
"name": "Lu Mayer",
"username": "kam",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/018729e129a6f31c80a6327a30196823?s=80&d=identicon",
"web_url": "http://localhost:3001/kam"
},
"author": {
"id": 25,
"name": "User 3",
"username": "user3",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/97d6d9441ff85fdc730e02a6068d267b?s=80&d=identicon",
"web_url": "http://localhost:3001/user3"
},
"user_notes_count": 0,
"upvotes": 0,
"downvotes": 0,
"due_date": null,
"confidential": false,
"weight": null,
"discussion_locked": null,
"web_url": "http://localhost:3001/h5bp/html5-boilerplate/issues/13",
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
}
}
}
참고: assignee
열은 사용이 중단되었으며, 이제 GitLab EE API에 준수하기 위해 단일 크기의 배열 assignees
로 표시합니다.
에픽 - 이슈 관련 수정
에픽 - 이슈 관련을 업데이트합니다.
PUT /groups/:id/epics/:epic_iid/issues/:epic_issue_id
속성 | 유형 | 필요 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩 된 경로 |
epic_iid
| 정수/문자열 | 예 | 에픽의 내부 ID. |
epic_issue_id
| 정수/문자열 | 예 | 이슈 - 에픽 관계의 ID. |
move_before_id
| 정수/문자열 | 아니요 | 질문에서 링크 앞에 배치해야 하는 이슈 - 에픽 관계의 ID. |
move_after_id
| 정수/문자열 | 아니요 | 질문에서 링크 뒤에 배치해야 하는 이슈 - 에픽 관계의 ID. |
curl --header PUT "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5/issues/11?move_before_id=20"
예시 응답:
[
{
"id": 30,
"iid": 6,
"project_id": 8,
"title" : "Consequatur vero maxime deserunt laboriosam est voluptas dolorem.",
"description" : "Ratione dolores corrupti mollitia soluta quia.",
"state": "opened",
"created_at": "2017-11-15T13:39:24.670Z",
"updated_at": "2018-01-04T10:49:19.506Z",
"closed_at": null,
"labels": [],
"milestone": {
"id": 38,
"iid": 3,
"project_id": 8,
"title": "v2.0",
"description": "In tempore culpa inventore quo accusantium.",
"state": "closed",
"created_at": "2017-11-15T13:39:13.825Z",
"updated_at": "2017-11-15T13:39:13.825Z",
"due_date": null,
"start_date": null
},
"assignees": [{
"id": 7,
"name": "Pamella Huel",
"username": "arnita",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon",
"web_url": "http://localhost:3001/arnita"
}],
"assignee": {
"id": 7,
"name": "Pamella Huel",
"username": "arnita",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a2f5c6fcef64c9c69cb8779cb292be1b?s=80&d=identicon",
"web_url": "http://localhost:3001/arnita"
},
"author": {
"id": 13,
"name": "Michell Johns",
"username": "chris_hahn",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/30e3b2122ccd6b8e45e8e14a3ffb58fc?s=80&d=identicon",
"web_url": "http://localhost:3001/chris_hahn"
},
"user_notes_count": 8,
"upvotes": 0,
"downvotes": 0,
"due_date": null,
"confidential": false,
"weight": null,
"discussion_locked": null,
"web_url": "http://localhost:3001/h5bp/html5-boilerplate/issues/6",
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": null,
"human_total_time_spent": null
},
"_links":{
"self": "http://localhost:3001/api/v4/projects/8/issues/6",
"notes": "http://localhost:3001/api/v4/projects/8/issues/6/notes",
"award_emoji": "http://localhost:3001/api/v4/projects/8/issues/6/award_emoji",
"project": "http://localhost:3001/api/v4/projects/8"
},
"subscribed": true,
"epic_issue_id": 11,
"relative_position": 55
}
]