Epic Issues API

原文:https://docs.gitlab.com/ee/api/epic_issues.html

Epic Issues API

每个对 epic_issues 的 API 调用都必须经过验证.

如果用户不是组的成员,并且该组是私有的,则对该组的GET请求将产生404状态代码.

Epics 仅在 GitLab Premium 和更高版本中可用. 如果 Epics 功能不可用,将返回403状态代码.

List issues for an epic

获取分配给史诗且经过身份验证的用户有权访问的所有问题.

  1. GET /groups/:id/epics/:epic_iid/issues
Attribute Type Required Description
id integer/string yes 认证用户拥有的组的 ID 或URL 编码路径
epic_iid integer/string yes 史诗的内部 ID.
  1. curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5/issues/"

响应示例:

  1. [ { "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" }, "subscribed": true, "epic_issue_id": 2 } ]

注意 :不建议使用assignee列,现在我们将其显示为符合 GitLab EE API 的单一大小的数组assignees .

Assign an issue to the epic

创建史诗-事件关联. 如果所讨论的问题属于另一个史诗,则不会从该史诗中分配该问题.

  1. POST /groups/:id/epics/:epic_iid/issues/:issue_id
Attribute Type Required Description
id integer/string yes 认证用户拥有的组的 ID 或URL 编码路径
epic_iid integer/string yes 史诗的内部 ID.
issue_id integer/string yes 问题的 ID.
  1. curl --header POST "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5/issues/55"

响应示例:

  1. { "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 .

Remove an issue from the epic

删除史诗-问题关联.

  1. DELETE /groups/:id/epics/:epic_iid/issues/:epic_issue_id
Attribute Type Required Description
id integer/string yes 认证用户拥有的组的 ID 或URL 编码路径
epic_iid integer/string yes 史诗的内部 ID.
epic_issue_id integer/string yes 问题的 ID-史诗般的协会.
  1. curl --header DELETE "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5/issues/11"

响应示例:

  1. { "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 } } }

Note: assignee column is deprecated, now we show it as a single-sized array assignees to conform to the GitLab EE API.

Update epic - issue association

更新史诗-问题关联.

  1. PUT /groups/:id/epics/:epic_iid/issues/:epic_issue_id
Attribute Type Required Description
id integer/string yes 认证用户拥有的组的 ID 或URL 编码路径
epic_iid integer/string yes 史诗的内部 ID.
epic_issue_id integer/string yes 问题的 ID-史诗般的协会.
move_before_id integer/string no 问题的 ID-史诗般的关联,应放在问题中的链接之前.
move_after_id integer/string no 问题的 ID-史诗般的关联,应该放在问题中的链接之后.
  1. curl --header PUT "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/epics/5/issues/11?move_before_id=20"

响应示例:

  1. [ { "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 } ]