エピックリンクAPI
GitLab 11.8 で導入されました。
親子エピック関係を管理します。
epic_links
への API 呼び出しはすべて認証が必要です。
ユーザーが非公開グループのメンバーでない場合、そのグループに対するGET
リクエストは404
ステータスコードになります。
マルチレベルエピックはGitLab Ultimateでのみ利用可能です。マルチレベルエピック機能が利用できない場合、403
ステータスコードが返されます。
指定したエピックに関連するエピックのリスト
あるエピックに関連するすべての子エピピックを取得します。
GET /groups/:id/epics/:epic_iid/epics
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するグループのIDまたはURLエンコードされたパス |
epic_iid | 整数。 | yes | エピック内部ID。 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "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": []
}
]
子エピックの割り当て
2つのエピック間の関連を作成し、一方を親エピック、他方を子エピックとして指定します。親エピックは複数の子エピックを持つことができます。新しい子エピックが既に別のエピックに属していた場合、その前の親エピックから割り当てが解除されます。
POST /groups/:id/epics/:epic_iid/epics/:child_epic_id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するグループのIDまたはURLエンコードされたパス |
epic_iid | 整数。 | yes | エピック内部ID。 |
child_epic_id | 整数。 | yes | 子エピックのグローバルID。他のグループのエピックと衝突する可能性があるため、内部IDは使用できません。 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "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 | 整数/文字列 | yes | 認証ユーザーが所有するグループのIDまたはURLエンコードされたパス |
epic_iid | 整数。 | yes | 将来の親エピックの内部ID。 |
title | 文字列です。 | yes | 新しく作成されたエピックのタイトル。 |
confidential | boolean | いいえ | エピックに機密性を持たせるかどうか。confidential_epics 機能フラグが無効な場合、パラメータは無視されます。デフォルトは親エピックの秘匿状態です。 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "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 | 整数/文字列 | yes | 認証されたユーザーが所有するグループのID またはURL エンコードされたパス。 |
epic_iid | 整数。 | yes | エピック内部ID。 |
child_epic_id | 整数。 | yes | 子エピックのグローバルID。他のグループのエピックと衝突する可能性があるため、内部IDは使用できません。 |
move_before_id | 整数。 | いいえ | 子エピックの前に置かれるべき兄弟エピックのグローバルID。 |
move_after_id | 整数。 | いいえ | 子エピックの後に配置されるべき兄弟エピックのグローバルID。 |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "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 | 整数/文字列 | yes | 認証されたユーザーが所有するグループのID またはURL エンコードされたパス。 |
epic_iid | 整数。 | yes | エピック内部ID。 |
child_epic_id | 整数。 | yes | 子エピックのグローバルID。他のグループのエピックと衝突する可能性があるため、内部IDは使用できません。 |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "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": []
}