リソースステートイベントAPI
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
イシュー、マージリクエスト、およびエピックのステート変更イベントを操作するには、このAPIを使用します。
このAPIは、リソースの初期状態(createdまたはopened)を追跡しません。クローズまたは再オープンされなかったリソースの場合、空のリストが返されます。
イシュー
プロジェクトイシューのステートイベントを一覧表示
単一のイシューのすべてのステートイベントを一覧表示します。
GET /projects/:id/issues/:issue_iid/resource_state_events| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
issue_iid | 整数 | はい | イシューのIID |
リクエスト例:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_state_events"レスポンス例:
[
{
"id": 142,
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-20T13:38:20.077Z",
"resource_type": "Issue",
"resource_id": 11,
"source_commit": null,
"source_merge_request_id": null,
"state": "opened"
},
{
"id": 143,
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-21T14:38:20.077Z",
"resource_type": "Issue",
"resource_id": 11,
"source_commit": null,
"source_merge_request_id": null,
"state": "closed"
}
]単一のイシューステートイベントを取得する
特定のプロジェクトイシューの単一のステートイベントを取得します。
GET /projects/:id/issues/:issue_iid/resource_state_events/:resource_state_event_idパラメータは以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
issue_iid | 整数 | はい | イシューのIID |
resource_state_event_id | 整数 | はい | ステートイベントのID |
リクエスト例:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_state_events/143"レスポンス例:
{
"id": 143,
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-21T14:38:20.077Z",
"resource_type": "Issue",
"resource_id": 11,
"source_commit": null,
"source_merge_request_id": null,
"state": "closed"
}マージリクエスト
プロジェクトマージリクエストのステートイベントを一覧表示
単一のマージリクエストのすべてのステートイベントを一覧表示します。
GET /projects/:id/merge_requests/:merge_request_iid/resource_state_events| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
merge_request_iid | 整数 | はい | マージリクエストのIID |
リクエスト例:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/resource_state_events"レスポンス例:
[
{
"id": 142,
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-20T13:38:20.077Z",
"resource_type": "MergeRequest",
"resource_id": 11,
"source_commit": null,
"source_merge_request_id": null,
"state": "opened"
},
{
"id": 143,
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-21T14:38:20.077Z",
"resource_type": "MergeRequest",
"resource_id": 11,
"source_commit": null,
"source_merge_request_id": null,
"state": "closed"
}
]単一のマージリクエストステートイベントを取得する
特定のプロジェクトマージリクエストの単一のステートイベントを取得します。
GET /projects/:id/merge_requests/:merge_request_iid/resource_state_events/:resource_state_event_idパラメータは以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
merge_request_iid | 整数 | はい | マージリクエストのIID |
resource_state_event_id | 整数 | はい | ステートイベントのID |
リクエスト例:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/resource_state_events/120"レスポンス例:
{
"id": 120,
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-21T14:38:20.077Z",
"resource_type": "MergeRequest",
"resource_id": 11,
"source_commit": null,
"source_merge_request_id": null,
"state": "closed"
}エピック
エピックREST APIは、GitLab 17.0で非推奨になり、APIのv5で削除される予定です。GitLab 17.4から18.0までのバージョンで、エピックの新しい外観が有効になっている場合は、GitLab 18.1以降で、代わりに作業アイテムAPIを使用してください。詳細については、作業アイテムにエピックAPIを移行するを参照してください。これは破壊的な変更です。
グループエピックステートイベントを一覧表示
単一のエピックのすべてのステートイベントを一覧表示します。
GET /groups/:id/epics/:epic_id/resource_state_events| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | グループのIDまたはURLエンコードされたパス。 |
epic_id | 整数 | はい | エピックのID。 |
リクエスト例:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/epics/11/resource_state_events"レスポンス例:
[
{
"id": 142,
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-20T13:38:20.077Z",
"resource_type": "Epic",
"resource_id": 11,
"source_commit": null,
"source_merge_request_id": null,
"state": "opened"
},
{
"id": 143,
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-21T14:38:20.077Z",
"resource_type": "Epic",
"resource_id": 11,
"source_commit": null,
"source_merge_request_id": null,
"state": "closed"
}
]単一のエピックステートイベントを取得する
単一のエピックステートイベントを取得します。
GET /groups/:id/epics/:epic_id/resource_state_events/:resource_state_event_idパラメータは以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | グループのIDまたはURLエンコードされたパス。 |
epic_id | 整数 | はい | エピックのID。 |
resource_state_event_id | 整数 | はい | ステートイベントのID。 |
リクエスト例:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/epics/11/resource_state_events/143"レスポンス例:
{
"id": 143,
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-21T14:38:20.077Z",
"resource_type": "Epic",
"resource_id": 11,
"source_commit": null,
"source_merge_request_id": null,
"state": "closed"
}