에픽 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"
}
도움말