Epic API (deprecated)
경고: Epics REST API가 GitLab 17.0에서 폐지될 예정되었으며 API v5에서 제거될 예정입니다. GitLab 17.4 이상에서는 귀하의 관리자가 epics의 새로운 외관을 활성화했다면 Work Items API를 사용하십시오. 이 변경 사항은 기존의 변경 사항입니다.
에픽에 대한 모든 API 호출은 인증되어야 합니다.
특정 그룹의 회원이 아닌 경우 해당 그룹에 대한 ‘GET’ 요청은 ‘404’ 상태 코드를 반환합니다.
에픽 기능이 사용 불가능한 경우 ‘403’ 상태 코드가 반환됩니다.
Epic issues API
에픽 이슈 API를 사용하여 에픽과 관련된 이슈를 상호 작용할 수 있습니다.
마일스톤 날짜 통합
시작 날짜와 만기 날짜는 관련된 이슈 마일스톤에서 동적으로 공급될 수 있기 때문에 사용자가 편집 권한을 가지고 있는 경우 추가 필드가 표시됩니다. 이는 두 개의 부울 필드 start_date_is_fixed
및 due_date_is_fixed
, 그리고 네 개의 날짜 필드 start_date_fixed
, start_date_from_inherited_source
, due_date_fixed
및 due_date_from_inherited_source
를 포함합니다.
-
end_date
는due_date
로 대체되었습니다. -
start_date_from_milestones
는start_date_from_inherited_source
로 대체되었습니다. -
due_date_from_milestones
는due_date_from_inherited_source
로 대체되었습니다.
에픽 페이징
기본적으로 GET
요청은 API 결과가 페이지별로 20개씩 반환되도록 설정되어 있습니다.
자세한 내용은 페이지 나누기를 참조하십시오.
경고:
GitLab 12.6 및 이후에, 응답의 참조
속성은 참조
대신 참조
로 폐기되었습니다.
참고:
references.relative
은 에픽이 요청된 그룹과 상대적입니다. 에픽이 원본 그룹에서 가져올 때, 상대적
형식이 단축
형식과 동일합니다.
에픽이 그룹 간에 요청될 때, 상대적
형식은 전체
형식과 동일하게 예상됩니다.
그룹에 대한 에픽 목록
요청된 그룹 및 하위 그룹의 모든 에픽을 가져옵니다.
GET /groups/:id/epics
GET /groups/:id/epics?author_id=5
GET /groups/:id/epics?labels=bug,reproduced
GET /groups/:id/epics?state=opened
속성 | 유형 | 필수여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 그룹의 ID 또는 URL에 인코딩된 경로 |
author_id
| 정수 | 아니오 | 주어진 사용자 id 에서 생성된 에픽을 반환합니다.
|
author_username
| 문자열 | 아니오 | 주어진 사용자명 으로 생성된 사용자에 의해 생성된 에픽을 반환합니다.
|
labels
| 문자열 | 아니오 | 쉼표로 구분된 라벨 이름 목록과 일치하는 에픽을 반환합니다. 에픽 그룹이나 상위 그룹의 라벨 이름을 사용할 수 있습니다. |
with_labels_details
| 불리언 | 아니오 |
true 인 경우 응답은 라벨 필드의 각 라벨에 대해 더 많은 세부 정보를 반환합니다: :name , :color , :description , :description_html , :text_color . 기본값은 false 입니다.
|
order_by
| 문자열 | 아니오 | 에픽이 created_at , updated_at , 또는 title 필드로 정렬되어 반환됩니다. 기본값은 created_at 입니다.
|
sort
| 문자열 | 아니오 | 에픽이 asc 또는 desc 순서로 정렬되어 반환됩니다. 기본값은 desc 입니다.
|
search
| 문자열 | 아니오 |
타이틀 및 설명 에 대해 에픽을 검색합니다.
|
state
| 문자열 | 아니오 |
상태 에 대해 에픽을 검색합니다. 가능한 필터: opened , closed 및 all , 기본값은 all 입니다.
|
created_after
| 날짜 및 시간 | 아니오 | 주어진 시간 이후에 생성된 에픽을 반환합니다. ISO 8601 형식(2019-03-15T08:00:00Z )으로 입력되어야 합니다.
|
created_before
| 날짜 및 시간 | 아니오 | 주어진 시간 이전에 생성된 에픽을 반환합니다. ISO 8601 형식(2019-03-15T08:00:00Z )으로 입력되어야 합니다.
|
updated_after
| 날짜 및 시간 | 아니오 | 주어진 시간 이후에 업데이트된 에픽을 반환합니다. ISO 8601 형식(2019-03-15T08:00:00Z )으로 입력되어야 합니다.
|
updated_before
| 날짜 및 시간 | 아니오 | 주어진 시간 이전에 업데이트된 에픽을 반환합니다. ISO 8601 형식(2019-03-15T08:00:00Z )으로 입력되어야 합니다.
|
include_ancestor_groups
| 불리언 | 아니오 | 요청된 그룹의 조상에서 에픽을 포함합니다. 기본값은 false 입니다.
|
include_descendant_groups
| 불리언 | 아니오 | 요청된 그룹의 하위 그룹에서 에픽을 포함합니다. 기본값은 true 입니다.
|
my_reaction_emoji
| 문자열 | 아니오 | 주어진 이모지로 인증된 사용자가 반응한 에픽을 반환합니다. None 은 반응하지 않은 에픽을 반환하고, Any 는 최소한 하나의 반응을 받은 에픽을 반환합니다.
|
not
| 해시 | 아니오 | 제공된 매개변수와 일치하지 않는 에픽을 반환합니다. author_id , author_username 및 labels 를 수락합니다.
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics"
예시 응답:
[
{
"id": 29,
"iid": 4,
"...
"...
"...
}
]
단일 epic
단일 epic을 가져옵니다.
GET /groups/:id/epics/:epic_iid
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 그룹의 ID 또는 URL-인코딩된 경로 |
epic_iid
| 정수/문자열 | 예 | Epic의 내부 ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5"
예시 응답:
{
"id": 30,
"iid": 5,
"group_id": 7,
"parent_id": null,
"parent_iid": null,
"title": "Ea cupiditate dolores ut vero consequatur quasi veniam voluptatem et non.",
"description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.",
"state": "opened",
"imported": false,
"imported_from": "none",
"web_url": "http://gitlab.example.com/groups/test/-/epics/5",
"reference": "&5",
"references": {
"short": "&5",
"relative": "&5",
"full": "test&5"
},
"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://gitlab.example.com/arnita"
},
"start_date": null,
"start_date_is_fixed": false,
"start_date_fixed": null,
"start_date_from_milestones": null, //deprecated in favor of start_date_from_inherited_source
"start_date_from_inherited_source": null,
"end_date": "2018-07-31", //deprecated in favor of due_date
"due_date": "2018-07-31",
"due_date_is_fixed": false,
"due_date_fixed": null,
"due_date_from_milestones": "2018-07-31", //deprecated in favor of start_date_from_inherited_source
"due_date_from_inherited_source": "2018-07-31",
"created_at": "2018-07-17T13:36:22.770Z",
"updated_at": "2018-07-18T12:22:05.239Z",
"closed_at": "2018-08-18T12:22:05.239Z",
"labels": [],
"upvotes": 4,
"downvotes": 0,
"color": "#1068bf",
"subscribed": true,
"_links":{
"self": "http://gitlab.example.com/api/v4/groups/7/epics/5",
"epic_issues": "http://gitlab.example.com/api/v4/groups/7/epics/5/issues",
"group":"http://gitlab.example.com/api/v4/groups/7",
"parent": null
}
}
새로운 epic
새로운 epic을 생성합니다.
참고:
GitLab 11.3부터 start_date
와 end_date
는 더 이상 직접 할당되지 않으며, 이제 이것들은 복합 값으로 표현됩니다. 대신 *_is_fixed
및 *_fixed
필드를 통해 구성할 수 있습니다.
POST /groups/:id/epics
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 그룹의 ID 또는 URL-인코딩된 경로 |
title
| 문자열 | 예 | Epic의 제목 |
labels
| 문자열 | 아니오 | 쉼표로 구분된 라벨의 목록 |
description
| 문자열 | 아니오 | Epic의 설명. 1,048,576자로 제한됩니다. |
color
| 문자열 | 아니오 | Epic의 색상. 기본적으로 비활성화된 epic_highlight_color 기능 플래그 뒤에 있습니다
|
confidential
| 부울 | 아니오 | Epic이 비밀인지 여부 |
created_at
| 문자열 | 아니오 | Epic이 생성된 날짜 및 시간. 예: 2016-03-11T03:45:40Z . 관리자 또는 프로젝트/그룹 소유자 권한 필요
|
start_date_is_fixed
| 부울 | 아니오 | 시작 날짜가 start_date_fixed 또는 마일스톤에서 가져와야 하는지 여부
|
start_date_fixed
| 문자열 | 아니오 | Epic의 고정된 시작 날짜 |
due_date_is_fixed
| 부울 | 아니오 | 마감 날짜가 due_date_fixed 또는 마일스톤에서 가져와야 하는지 여부
|
due_date_fixed
| 문자열 | 아니오 | Epic의 고정된 마감 날짜 |
parent_id
| 정수/문자열 | 아니오 | 상위 epic의 ID |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics?title=Epic&description=Epic%20description&parent_id=29"
예시 응답:
{
"id": 33,
"iid": 6,
"group_id": 7,
"parent_id": 29,
"parent_iid": 4,
"title": "Epic",
"description": "Epic description",
"state": "opened",
"imported": false,
"imported_from": "none",
"confidential": "false",
"web_url": "http://gitlab.example.com/groups/test/-/epics/6",
"reference": "&6",
"references": {
"short": "&6",
"relative": "&6",
"full": "test&6"
},
"author": {
"name" : "Alexandra Bashirian",
"avatar_url" : null,
"state" : "active",
"web_url" : "https://gitlab.example.com/eileen.lowe",
"id" : 18,
"username" : "eileen.lowe"
},
"start_date": null,
"start_date_is_fixed": false,
"start_date_fixed": null,
"start_date_from_milestones": null, //deprecated in favor of start_date_from_inherited_source
"start_date_from_inherited_source": null,
"end_date": "2018-07-31", //deprecated in favor of due_date
"due_date": "2018-07-31",
"due_date_is_fixed": false,
"due_date_fixed": null,
"due_date_from_milestones": "2018-07-31", //deprecated in favor of start_date_from_inherited_source
"due_date_from_inherited_source": "2018-07-31",
"created_at": "2018-07-17T13:36:22.770Z",
"updated_at": "2018-07-18T12:22:05.239Z",
"closed_at": "2018-08-18T12:22:05.239Z",
"labels": [],
"upvotes": 4,
"downvotes": 0,
"color": "#1068bf",
"_links":{
"self": "http://gitlab.example.com/api/v4/groups/7/epics/6",
"epic_issues": "http://gitlab.example.com/api/v4/groups/7/epics/6/issues",
"group":"http://gitlab.example.com/api/v4/groups/7",
"parent": "http://gitlab.example.com/api/v4/groups/7/epics/4"
}
}
Epic 업데이트
에픽을 업데이트합니다.
PUT /groups/:id/epics/:epic_iid
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | yes | 그룹의 ID 또는 URL 인코딩 된 경로 |
epic_iid
| integer/string | yes | 에픽의 내부 ID |
add_labels
| string | no | 이슈에 추가할 쉼표로 구분된 레이블 이름입니다. |
confidential
| boolean | no | 에픽을 비공개로 설정할지 여부 |
description
| string | no | 에픽의 설명입니다. 1,048,576자로 제한됩니다. |
due_date_fixed
| string | no | 에픽의 고정된 마감일입니다 |
due_date_is_fixed
| boolean | no | 마감일을 due_date_fixed 에서 가져올지, 아니면 마일스톤에서 가져올지 여부
|
labels
| string | no | 이슈에 대한 쉼표로 구분된 레이블 이름입니다. 모든 레이블을 해제하려면 빈 문자열로 설정하세요. |
parent_id
| integer/string | no | 상위 에픽의 ID입니다. |
remove_labels
| string | no | 이슈에서 제거할 쉼표로 구분된 레이블 이름입니다. |
start_date_fixed
| string | no | 에픽의 고정된 시작일입니다 |
start_date_is_fixed
| boolean | no | 시작일을 start_date_fixed 에서 가져올지, 아니면 마일스톤에서 가져올지 여부
|
state_event
| string | no | 에픽의 상태 이벤트입니다. 에픽을 닫으려면 close , 다시 열려면 reopen 을 설정하세요
|
title
| string | no | 에픽의 제목입니다 |
updated_at
| string | no | 에픽이 업데이트된 시간입니다. 예: 2016-03-11T03:45:40Z . 관리자 또는 프로젝트/그룹 소유자 권한이 필요합니다
|
color
| string | no | 에픽의 색상입니다. 기능 플래그 epic_highlight_color (기본 설정에서 비활성화됨) 뒤에 있습니다.
|
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5?title=New%20Title&parent_id=29"
예시 응답:
{
"id": 33,
"iid": 6,
"group_id": 7,
"parent_id": 29,
"parent_iid": 4,
"title": "New Title",
"description": "에픽 설명",
"state": "opened",
"imported": false,
"imported_from": "none",
"confidential": "false",
"web_url": "http://gitlab.example.com/groups/test/-/epics/6",
"reference": "&6",
"references": {
"short": "&6",
"relative": "&6",
"full": "test&6"
},
"author": {
"name" : "Alexandra Bashirian",
"avatar_url" : null,
"state" : "active",
"web_url" : "https://gitlab.example.com/eileen.lowe",
"id" : 18,
"username" : "eileen.lowe"
},
"start_date": null,
"start_date_is_fixed": false,
"start_date_fixed": null,
"start_date_from_milestones": null, //deprecated in favor of start_date_from_inherited_source
"start_date_from_inherited_source": null,
"end_date": "2018-07-31", //deprecated in favor of due_date
"due_date": "2018-07-31",
"due_date_is_fixed": false,
"due_date_fixed": null,
"due_date_from_milestones": "2018-07-31", //deprecated in favor of start_date_from_inherited_source
"due_date_from_inherited_source": "2018-07-31",
"created_at": "2018-07-17T13:36:22.770Z",
"updated_at": "2018-07-18T12:22:05.239Z",
"closed_at": "2018-08-18T12:22:05.239Z",
"labels": [],
"upvotes": 4,
"downvotes": 0,
"color": "#1068bf"
}
에픽 삭제
- 변경됨 - GitLab 16.11에서 발생합니다. GitLab 16.10 이하 버전에서 에픽을 삭제하면 모든 하위 에픽과 그 자손이 함께 삭제됩니다. 필요한 경우 삭제하기 전에 부모 에픽에서 하위 에픽을 제거할 수 있습니다.
에픽을 삭제합니다
DELETE /groups/:id/epics/:epic_iid
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | yes | 그룹의 ID 또는 URL-encoded path of the group |
epic_iid
| integer/string | yes | 에픽의 내부 ID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5"
할 일 항목 생성
현재 사용자에 대해 에픽에 수동으로 할 일 항목을 만듭니다. 해당 에픽에 대해 사용자의 할 일 항목이 이미 있는 경우 상태 코드 304
가 반환됩니다.
POST /groups/:id/epics/:epic_iid/todo
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | yes | 그룹의 ID 또는 URL-encoded path of the group |
epic_iid
| integer | yes | 그룹의 에픽의 내부 ID |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5/todo"
예시 응답:
{
"id": 112,
"group": {
"id": 1,
"name": "Gitlab",
"path": "gitlab",
"kind": "group",
"full_path": "base/gitlab",
"parent_id": null
},
"author": {
"name": "Administrator",
"username": "root",
"id": 1,
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/root"
},
"action_name": "marked",
"target_type": "epic",
"target": {
"id": 30,
"iid": 5,
"group_id": 1,
"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://gitlab.example.com/arnita"
},
"web_url": "http://gitlab.example.com/groups/test/-/epics/5",
"reference": "&5",
"references": {
"short": "&5",
"relative": "&5",
"full": "test&5"
},
"start_date": null,
"end_date": null,
"created_at": "2018-01-21T06:21:13.165Z",
"updated_at": "2018-01-22T12:41:41.166Z",
"closed_at": "2018-08-18T12:22:05.239Z"
},
"target_url": "https://gitlab.example.com/groups/epics/5",
"body": "Vel voluptas atque dicta mollitia adipisci qui at.",
"state": "pending",
"created_at": "2016-07-01T11:09:13.992Z"
}