에픽 API (deprecated)
에픽에 대한 모든 API 호출은 인증되어야 합니다.
사용자가 비공개 그룹의 구성원이 아닌 경우 해당 그룹에 대한 GET
요청은 404
상태 코드를 반환합니다.
에픽 기능을 사용할 수 없는 경우 403
상태 코드가 반환됩니다.
에픽 이슈 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개씩 반환됩니다.
자세한 내용은 페이지네이션을 참조하십시오.
references.relative
은 에픽이 요청된 그룹을 기준으로 상대적입니다. 에픽이 원본 그룹에서 가져올 때는 ‘relative’ 형식이 ‘short’ 형식과 동일합니다. 에픽이 그룹 간에 요청될 때 ‘relative’ 형식이 ‘full’ 형식과 동일하게 예상됩니다.그룹에 대한 에픽 디렉터리
요청한 그룹 및 해당 하위 그룹의 모든 에픽을 가져옵니다.
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
| 문자열 | 아니요 | 주어진 username 을 가진 사용자가 만든 에픽을 반환합니다.
|
labels
| 문자열 | 아니요 | 쉼표로 구분된 라벨 이름 디렉터리과 일치하는 에픽을 반환합니다. 에픽 그룹 또는 상위 그룹의 라벨 이름을 사용할 수 있습니다 |
with_labels_details
| 부울 | 아니요 |
true 이면 응답은 labels 필드의 각 라벨에 대해 더 많은 세부 정보를 반환합니다: :name , :color , :description , :description_html , :text_color . 기본값은 false 입니다.
|
order_by
| 문자열 | 아니요 | 에픽을 created_at , updated_at , 또는 title 필드로 정렬하여 반환합니다. 기본값은 created_at 입니다.
|
sort
| 문자열 | 아니요 |
asc 또는 desc 순서로 정렬된 에픽을 반환합니다. 기본값은 desc 입니다.
|
search
| 문자열 | 아니요 |
title 및 description 에 대해 에픽 검색을 수행합니다.
|
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,
"group_id": 7,
"parent_id": 23,
"parent_iid": 3,
"title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.",
...
},
{
"id": 50,
"iid": 35,
"group_id": 17,
"parent_id": 19,
"parent_iid": 1,
"title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.",
...
}
]
단일 epick
단일 epick을 가져옵니다.
GET /groups/:id/epics/:epic_iid
속성 | 유형 | 필수여부 | 설명 |
---|---|---|---|
id
| integer/string | yes | 인증된 사용자가 소유한 그룹의 ID 또는 URL-encoded path |
epic_iid
| integer/string | yes | epick의 내부 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
}
}
새로운 epick
새로운 epick을 생성합니다.
start_date
와 end_date
는 이제 합성 값으로 표현되므로 직접 할당되지 않아야 합니다. 대신 *_is_fixed
및 *_fixed
필드를 통해 구성할 수 있습니다.POST /groups/:id/epics
속성 | 유형 | 필수여부 | 설명 |
---|---|---|---|
id
| integer/string | yes | 인증된 사용자가 소유한 그룹의 ID 또는 URL-encoded path |
title
| string | yes | epick의 제목 |
labels
| string | no | 쉼표로 구분된 라벨 디렉터리 |
description
| string | no | epick의 설명. 최대 1,048,576자까지 제한됩니다. |
color
| string | no | epick의 색상. 기본으로 비활성화된 epick_highlight_color 피처 플래그가 있습니다
|
confidential
| boolean | no | epick이 비밀인지 여부 |
created_at
| string | no | epick이 생성된 시간. 관리자 또는 프로젝트/그룹 소유자 권한이 필요합니다. 날짜 및 시간 문자열, ISO 8601 형식, 예: 2016-03-11T03:45:40Z .
|
start_date_is_fixed
| boolean | no | 시작 날짜가 start_date_fixed 에서 가져와야 하는지 또는 마일스톤에서 가져와야 하는지 여부
|
start_date_fixed
| string | no | epick의 고정된 시작 날짜 |
due_date_is_fixed
| boolean | no | 마감 날짜가 due_date_fixed 에서 가져와야 하는지 또는 마일스톤에서 가져와야 하는지 여부
|
due_date_fixed
| string | no | epick의 고정된 마감 날짜 |
parent_id
| integer/string | no | 상위 epick의 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 업데이트
Epic을 업데이트합니다.
PUT /groups/:id/epics/:epic_iid
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | yes | 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로 |
epic_iid
| integer/string | yes | Epic의 내부 ID |
add_labels
| string | no | 이슈에 추가할 쉼표로 구분된 라벨 이름 |
confidential
| boolean | no | Epic을 비밀로 처리해야 하는지 여부 |
description
| string | no | Epic의 설명. 최대 1,048,576자로 제한됨. |
due_date_fixed
| string | no | Epic의 고정된 마감일 |
due_date_is_fixed
| boolean | no | 마감일을 due_date_fixed 에서 가져와야 하는지, 아니면 마일스톤에서 가져와야 하는지 여부
|
labels
| string | no | 이슈용 쉼표로 구분된 라벨 이름. 모든 라벨을 해제하려면 빈 문자열로 설정하세요. |
parent_id
| integer/string | no | 상위 Epic의 ID |
remove_labels
| string | no | 이슈에서 제거할 쉼표로 구분된 라벨 이름 |
start_date_fixed
| string | no | Epic의 고정된 시작일 |
start_date_is_fixed
| boolean | no | 시작일을 start_date_fixed 에서 가져와야 하는지, 아니면 마일스톤에서 가져와야 하는지 여부
|
state_event
| string | no | Epic의 상태 이벤트. Epic을 닫으려면 close 로 설정하고, 다시 여는 경우 reopen 으로 설정하세요
|
title
| string | no | Epic의 제목 |
updated_at
| string | no | Epic의 업데이트 시간. ISO 8601 형식의 날짜/시간 문자열, 예: 2016-03-11T03:45:40Z . 관리자 또는 프로젝트/그룹 소유자 권한 필요
|
color
| string | no | Epic의 색상. 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": "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"
}
Epic 삭제
- 변경됨 GitLab 16.11에 변경되었습니다. GitLab 16.10 이전 버전에서는 Epic을 삭제하면 해당 Epic의 모든 하위 Epic 및 그 하위 항목도 삭제됩니다. 필요한 경우, Epic을 삭제하기 전에 해당 부모 Epic에서 하위 Epic을 제거할 수 있습니다.
Epic을 삭제합니다.
DELETE /groups/:id/epics/:epic_iid
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | yes | 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로 |
epic_iid
| integer/string | yes | Epic의 내부 ID. |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5"
할 일 항목 생성
현재 사용자의 Epic에 매뉴얼으로 할 일 항목을 생성합니다. 해당 Epic에 이미 사용자의 할 일 항목이 있는 경우, 상태 코드 304
가 반환됩니다.
POST /groups/:id/epics/:epic_iid/todo
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | yes | 인증된 사용자가 소유한 그룹의 ID 또는 URL 인코딩된 경로 |
epic_iid
| integer | yes | 그룹의 Epic의 내부 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"
}