资源状态事件 API
- Tier: 基础版,专业版,旗舰版
- Offering: JihuLab.com,私有化部署
资源状态事件用于记录极狐GitLab 议题 合并请求 和 史诗从极狐GitLab 15.4 开始 的变动情况。使用它们来跟踪哪个状态被设置,谁执行了操作以及何时发生。资源状态事件 API 不跟踪资源的初始状态(“创建”或“打开”)。对于未关闭或重新打开的资源,返回空列表。
议题
列出项目议题状态事件
获取单个议题的所有状态事件列表。
plaintextGET /projects/:id/issues/:issue_iid/resource_state_events
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer/string | 是 | 项目的 ID 或 URL 编码路径 |
| issue_iid | integer | 是 | 议题的 IID |
示例请求:
shellcurl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_state_events"
示例响应:
json1[ 2 { 3 "id": 142, 4 "user": { 5 "id": 1, 6 "name": "Administrator", 7 "username": "root", 8 "state": "active", 9 "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", 10 "web_url": "http://gitlab.example.com/root" 11 }, 12 "created_at": "2018-08-20T13:38:20.077Z", 13 "resource_type": "Issue", 14 "resource_id": 11, 15 "state": "opened" 16 }, 17 { 18 "id": 143, 19 "user": { 20 "id": 1, 21 "name": "Administrator", 22 "username": "root", 23 "state": "active", 24 "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", 25 "web_url": "http://gitlab.example.com/root" 26 }, 27 "created_at": "2018-08-21T14:38:20.077Z", 28 "resource_type": "Issue", 29 "resource_id": 11, 30 "state": "closed" 31 } 32]
获取单个议题状态事件
返回特定项目议题的单个状态事件。
plaintextGET /projects/:id/issues/:issue_iid/resource_state_events/:resource_state_event_id
参数:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer/string | 是 | 项目的 ID 或 URL 编码路径 |
| issue_iid | integer | 是 | 议题的 IID |
| resource_state_event_id | integer | 是 | 状态事件的 ID |
示例请求:
shellcurl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_state_events/143"
示例响应:
json1{ 2 "id": 143, 3 "user": { 4 "id": 1, 5 "name": "Administrator", 6 "username": "root", 7 "state": "active", 8 "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", 9 "web_url": "http://gitlab.example.com/root" 10 }, 11 "created_at": "2018-08-21T14:38:20.077Z", 12 "resource_type": "Issue", 13 "resource_id": 11, 14 "state": "closed" 15}
合并请求
列出项目合并请求状态事件
获取单个合并请求的所有状态事件列表。
plaintextGET /projects/:id/merge_requests/:merge_request_iid/resource_state_events
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer/string | 是 | 项目的 ID 或 URL 编码路径 |
| merge_request_iid | integer | 是 | 合并请求的 IID |
示例请求:
shellcurl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/resource_state_events"
示例响应:
json1[ 2 { 3 "id": 142, 4 "user": { 5 "id": 1, 6 "name": "Administrator", 7 "username": "root", 8 "state": "active", 9 "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", 10 "web_url": "http://gitlab.example.com/root" 11 }, 12 "created_at": "2018-08-20T13:38:20.077Z", 13 "resource_type": "MergeRequest", 14 "resource_id": 11, 15 "state": "opened" 16 }, 17 { 18 "id": 143, 19 "user": { 20 "id": 1, 21 "name": "Administrator", 22 "username": "root", 23 "state": "active", 24 "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", 25 "web_url": "http://gitlab.example.com/root" 26 }, 27 "created_at": "2018-08-21T14:38:20.077Z", 28 "resource_type": "MergeRequest", 29 "resource_id": 11, 30 "state": "closed" 31 } 32]
获取单个合并请求状态事件
返回特定项目合并请求的单个状态事件。
plaintextGET /projects/:id/merge_requests/:merge_request_iid/resource_state_events/:resource_state_event_id
参数:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer/string | 是 | 项目的 ID 或 URL 编码路径 |
| merge_request_iid | integer | 是 | 合并请求的 IID |
| resource_state_event_id | integer | 是 | 状态事件的 ID |
示例请求:
shellcurl --request GET --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/resource_state_events/120"
示例响应:
json1{ 2 "id": 120, 3 "user": { 4 "id": 1, 5 "name": "Administrator", 6 "username": "root", 7 "state": "active", 8 "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", 9 "web_url": "http://gitlab.example.com/root" 10 }, 11 "created_at": "2018-08-21T14:38:20.077Z", 12 "resource_type": "MergeRequest", 13 "resource_id": 11, 14 "state": "closed" 15}
史诗
History
- 在极狐GitLab 15.4 中引入。
史诗 REST API 在极狐GitLab 17.0 中弃用,计划在 API 的 v5 中移除。有关更多信息,请参阅[指南以迁移现有 API](graphql/epic_work_items_api_migration_guide.md)。此更改是一个重大更改。
列出群组史诗状态事件
返回单个史诗的所有状态事件列表。
plaintextGET /groups/:id/epics/:epic_id/resource_state_events
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer/string | 是 | 群组的 ID 或 URL 编码路径。 |
| epic_id | integer | 是 | 史诗的 ID。 |
示例请求:
shellcurl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/epics/11/resource_state_events"
示例响应:
json1[ 2 { 3 "id": 142, 4 "user": { 5 "id": 1, 6 "name": "Administrator", 7 "username": "root", 8 "state": "active", 9 "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", 10 "web_url": "http://gitlab.example.com/root" 11 }, 12 "created_at": "2018-08-20T13:38:20.077Z", 13 "resource_type": "Epic", 14 "resource_id": 11, 15 "state": "opened" 16 }, 17 { 18 "id": 143, 19 "user": { 20 "id": 1, 21 "name": "Administrator", 22 "username": "root", 23 "state": "active", 24 "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", 25 "web_url": "http://gitlab.example.com/root" 26 }, 27 "created_at": "2018-08-21T14:38:20.077Z", 28 "resource_type": "Epic", 29 "resource_id": 11, 30 "state": "closed" 31 } 32]
获取单个史诗状态事件
返回特定群组史诗的单个状态事件。
plaintextGET /groups/:id/epics/:epic_id/resource_state_events/:resource_state_event_id
参数:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer/string | 是 | 群组的 ID 或 URL 编码路径。 |
| epic_id | integer | 是 | 史诗的 ID。 |
| resource_state_event_id | integer | 是 | 状态事件的 ID。 |
示例请求:
shellcurl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/epics/11/resource_state_events/143"
示例响应:
json1{ 2 "id": 143, 3 "user": { 4 "id": 1, 5 "name": "Administrator", 6 "username": "root", 7 "state": "active", 8 "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", 9 "web_url": "http://gitlab.example.com/root" 10 }, 11 "created_at": "2018-08-21T14:38:20.077Z", 12 "resource_type": "Epic", 13 "resource_id": 11, 14 "state": "closed" 15}