InfoGrab Docs

Epic Links API (deprecated)

요약

Epics REST API는 GitLab 17.0에서 deprecated되었으며 API v5에서 제거될 예정입니다. epic_links에 대한 모든 API 호출은 인증이 필요합니다. 사용자가 비공개 그룹의 멤버가 아닌 경우, 해당 그룹에 대한 GET 요청은 404 상태 코드를 반환합니다.

Warning

Epics REST API는 GitLab 17.0에서 deprecated되었으며 API v5에서 제거될 예정입니다. GitLab 17.4~18.0에서 에픽의 새로운 모습이 활성화된 경우, 그리고 GitLab 18.1 이상에서는 Work Items API를 대신 사용하세요. 자세한 내용은 에픽 API를 work items로 마이그레이션을 참조하세요. 이 변경사항은 파괴적 변경입니다.

부모-자식 에픽 관계를 관리합니다.

epic_links에 대한 모든 API 호출은 인증이 필요합니다.

사용자가 비공개 그룹의 멤버가 아닌 경우, 해당 그룹에 대한 GET 요청은 404 상태 코드를 반환합니다.

다중 레벨 에픽은 GitLab Ultimate에서만 사용할 수 있습니다. 다중 레벨 에픽 기능을 사용할 수 없는 경우 403 상태 코드가 반환됩니다.

에픽의 모든 자식 에픽 나열#

에픽의 모든 자식 에픽을 나열합니다.

GET /groups/:id/epics/:epic_iid/epics
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL-인코딩된 경로.
epic_iid 정수 에픽의 내부 ID.
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/epics/5/epics"

응답 예시:

[
  {
    "id": 29,
    "iid": 6,
    "group_id": 1,
    "parent_id": 5,
    "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.",
    "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.",
    "author": {
      "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"
    },
    "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",
    "labels": []
  }
]

자식 에픽 할당#

두 에픽 간의 연결을 생성하여 하나를 부모 에픽으로, 다른 하나를 자식 에픽으로 지정합니다. 부모 에픽은 여러 자식 에픽을 가질 수 있습니다. 새 자식 에픽이 이미 다른 에픽에 속해 있는 경우, 이전 부모에서 할당이 해제됩니다.

POST /groups/:id/epics/:epic_iid/epics/:child_epic_id
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL-인코딩된 경로.
epic_iid 정수 에픽의 내부 ID.
child_epic_id 정수 자식 에픽의 전역 ID. 다른 그룹의 에픽과 충돌할 수 있으므로 내부 ID는 사용할 수 없습니다.
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/epics/5/epics/6"

응답 예시:

{
  "id": 6,
  "iid": 38,
  "group_id": 1,
  "parent_id": 5,
  "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.",
  "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.",
  "author": {
    "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"
  },
  "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",
  "labels": []
}

자식 에픽 생성 및 할당#

새 에픽을 생성하고 제공된 부모 에픽과 연결합니다. 응답은 LinkedEpic 객체입니다.

POST /groups/:id/epics/:epic_iid/epics
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL-인코딩된 경로.
epic_iid 정수 (미래 부모) 에픽의 내부 ID.
title 문자열 새로 생성될 에픽의 제목.
confidential 부울 아니요 에픽을 기밀로 설정할지 여부. confidential_epics 기능 플래그가 비활성화된 경우 이 파라미터는 무시됩니다. 기본값은 부모 에픽의 기밀 상태입니다.
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/epics/5/epics?title=Newpic"

응답 예시:

{
  "id": 24,
  "iid": 2,
  "title": "child epic",
  "group_id": 49,
  "parent_id": 23,
  "has_children": false,
  "has_issues": false,
  "reference":  "&2",
  "url": "http://localhost/groups/group16/-/epics/2",
  "relation_url": "http://localhost/groups/group16/-/epics/1/links/24"
}

자식 에픽 재정렬#

PUT /groups/:id/epics/:epic_iid/epics/:child_epic_id
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL-인코딩된 경로.
epic_iid 정수 에픽의 내부 ID.
child_epic_id 정수 자식 에픽의 전역 ID. 다른 그룹의 에픽과 충돌할 수 있으므로 내부 ID는 사용할 수 없습니다.
move_before_id 정수 아니요 자식 에픽 앞에 배치되어야 하는 형제 에픽의 전역 ID.
move_after_id 정수 아니요 자식 에픽 뒤에 배치되어야 하는 형제 에픽의 전역 ID.
curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/epics/4/epics/5"

응답 예시:

[
  {
    "id": 29,
    "iid": 6,
    "group_id": 1,
    "parent_id": 5,
    "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.",
    "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.",
    "author": {
      "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"
    },
    "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",
    "labels": []
  }
]

자식 에픽 할당 해제#

부모 에픽에서 자식 에픽의 할당을 해제합니다.

DELETE /groups/:id/epics/:epic_iid/epics/:child_epic_id
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL-인코딩된 경로.
epic_iid 정수 에픽의 내부 ID.
child_epic_id 정수 자식 에픽의 전역 ID. 다른 그룹의 에픽과 충돌할 수 있으므로 내부 ID는 사용할 수 없습니다.
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/epics/4/epics/5"

응답 예시:

{
  "id": 5,
  "iid": 38,
  "group_id": 1,
  "parent_id": null,
  "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.",
  "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.",
  "author": {
    "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"
  },
  "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",
  "labels": []
}

Epic Links API (deprecated)

Tier: Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

Epics REST API는 GitLab 17.0에서 deprecated되었으며 API v5에서 제거될 예정입니다. epic_links에 대한 모든 API 호출은 인증이 필요합니다. 사용자가 비공개 그룹의 멤버가 아닌 경우, 해당 그룹에 대한 GET 요청은 404 상태 코드를 반환합니다.

Warning

Epics REST API는 GitLab 17.0에서 deprecated되었으며 API v5에서 제거될 예정입니다. GitLab 17.4~18.0에서 에픽의 새로운 모습이 활성화된 경우, 그리고 GitLab 18.1 이상에서는 Work Items API를 대신 사용하세요. 자세한 내용은 에픽 API를 work items로 마이그레이션을 참조하세요. 이 변경사항은 파괴적 변경입니다.

부모-자식 에픽 관계를 관리합니다.

epic_links에 대한 모든 API 호출은 인증이 필요합니다.

사용자가 비공개 그룹의 멤버가 아닌 경우, 해당 그룹에 대한 GET 요청은 404 상태 코드를 반환합니다.

다중 레벨 에픽은 GitLab Ultimate에서만 사용할 수 있습니다. 다중 레벨 에픽 기능을 사용할 수 없는 경우 403 상태 코드가 반환됩니다.

에픽의 모든 자식 에픽 나열#

에픽의 모든 자식 에픽을 나열합니다.

GET /groups/:id/epics/:epic_iid/epics
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL-인코딩된 경로.
epic_iid 정수 에픽의 내부 ID.
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/epics/5/epics"

응답 예시:

[
  {
    "id": 29,
    "iid": 6,
    "group_id": 1,
    "parent_id": 5,
    "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.",
    "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.",
    "author": {
      "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"
    },
    "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",
    "labels": []
  }
]

자식 에픽 할당#

두 에픽 간의 연결을 생성하여 하나를 부모 에픽으로, 다른 하나를 자식 에픽으로 지정합니다. 부모 에픽은 여러 자식 에픽을 가질 수 있습니다. 새 자식 에픽이 이미 다른 에픽에 속해 있는 경우, 이전 부모에서 할당이 해제됩니다.

POST /groups/:id/epics/:epic_iid/epics/:child_epic_id
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL-인코딩된 경로.
epic_iid 정수 에픽의 내부 ID.
child_epic_id 정수 자식 에픽의 전역 ID. 다른 그룹의 에픽과 충돌할 수 있으므로 내부 ID는 사용할 수 없습니다.
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/epics/5/epics/6"

응답 예시:

{
  "id": 6,
  "iid": 38,
  "group_id": 1,
  "parent_id": 5,
  "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.",
  "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.",
  "author": {
    "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"
  },
  "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",
  "labels": []
}

자식 에픽 생성 및 할당#

새 에픽을 생성하고 제공된 부모 에픽과 연결합니다. 응답은 LinkedEpic 객체입니다.

POST /groups/:id/epics/:epic_iid/epics
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL-인코딩된 경로.
epic_iid 정수 (미래 부모) 에픽의 내부 ID.
title 문자열 새로 생성될 에픽의 제목.
confidential 부울 아니요 에픽을 기밀로 설정할지 여부. confidential_epics 기능 플래그가 비활성화된 경우 이 파라미터는 무시됩니다. 기본값은 부모 에픽의 기밀 상태입니다.
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/epics/5/epics?title=Newpic"

응답 예시:

{
  "id": 24,
  "iid": 2,
  "title": "child epic",
  "group_id": 49,
  "parent_id": 23,
  "has_children": false,
  "has_issues": false,
  "reference":  "&2",
  "url": "http://localhost/groups/group16/-/epics/2",
  "relation_url": "http://localhost/groups/group16/-/epics/1/links/24"
}

자식 에픽 재정렬#

PUT /groups/:id/epics/:epic_iid/epics/:child_epic_id
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL-인코딩된 경로.
epic_iid 정수 에픽의 내부 ID.
child_epic_id 정수 자식 에픽의 전역 ID. 다른 그룹의 에픽과 충돌할 수 있으므로 내부 ID는 사용할 수 없습니다.
move_before_id 정수 아니요 자식 에픽 앞에 배치되어야 하는 형제 에픽의 전역 ID.
move_after_id 정수 아니요 자식 에픽 뒤에 배치되어야 하는 형제 에픽의 전역 ID.
curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/epics/4/epics/5"

응답 예시:

[
  {
    "id": 29,
    "iid": 6,
    "group_id": 1,
    "parent_id": 5,
    "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.",
    "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.",
    "author": {
      "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"
    },
    "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",
    "labels": []
  }
]

자식 에픽 할당 해제#

부모 에픽에서 자식 에픽의 할당을 해제합니다.

DELETE /groups/:id/epics/:epic_iid/epics/:child_epic_id
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL-인코딩된 경로.
epic_iid 정수 에픽의 내부 ID.
child_epic_id 정수 자식 에픽의 전역 ID. 다른 그룹의 에픽과 충돌할 수 있으므로 내부 ID는 사용할 수 없습니다.
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/epics/4/epics/5"

응답 예시:

{
  "id": 5,
  "iid": 38,
  "group_id": 1,
  "parent_id": null,
  "title": "Accusamus iste et ullam ratione voluptatem omnis debitis dolor est.",
  "description": "Molestias dolorem eos vitae expedita impedit necessitatibus quo voluptatum.",
  "author": {
    "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"
  },
  "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",
  "labels": []
}