资源状态事件 API

  • Tier: 基础版,专业版,旗舰版
  • Offering: JihuLab.com,私有化部署

资源状态事件用于记录极狐GitLab 议题 合并请求史诗从极狐GitLab 15.4 开始 的变动情况。使用它们来跟踪哪个状态被设置,谁执行了操作以及何时发生。资源状态事件 API 不跟踪资源的初始状态(“创建”或“打开”)。对于未关闭或重新打开的资源,返回空列表。

议题#

列出项目议题状态事件#

获取单个议题的所有状态事件列表。

plaintext
GET /projects/:id/issues/:issue_iid/resource_state_events
属性类型必需描述
idinteger/string项目的 ID 或 URL 编码路径
issue_iidinteger议题的 IID

示例请求:

shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_state_events"

示例响应:

json
1[ 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]

获取单个议题状态事件#

返回特定项目议题的单个状态事件。

plaintext
GET /projects/:id/issues/:issue_iid/resource_state_events/:resource_state_event_id

参数:

属性类型必需描述
idinteger/string项目的 ID 或 URL 编码路径
issue_iidinteger议题的 IID
resource_state_event_idinteger状态事件的 ID

示例请求:

shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_state_events/143"

示例响应:

json
1{ 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}

合并请求#

列出项目合并请求状态事件#

获取单个合并请求的所有状态事件列表。

plaintext
GET /projects/:id/merge_requests/:merge_request_iid/resource_state_events
属性类型必需描述
idinteger/string项目的 ID 或 URL 编码路径
merge_request_iidinteger合并请求的 IID

示例请求:

shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/resource_state_events"

示例响应:

json
1[ 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]

获取单个合并请求状态事件#

返回特定项目合并请求的单个状态事件。

plaintext
GET /projects/:id/merge_requests/:merge_request_iid/resource_state_events/:resource_state_event_id

参数:

属性类型必需描述
idinteger/string项目的 ID 或 URL 编码路径
merge_request_iidinteger合并请求的 IID
resource_state_event_idinteger状态事件的 ID

示例请求:

shell
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/resource_state_events/120"

示例响应:

json
1{ 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)。此更改是一个重大更改。

列出群组史诗状态事件#

返回单个史诗的所有状态事件列表。

plaintext
GET /groups/:id/epics/:epic_id/resource_state_events
属性类型必需描述
idinteger/string群组的 ID 或 URL 编码路径
epic_idinteger史诗的 ID。

示例请求:

shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/epics/11/resource_state_events"

示例响应:

json
1[ 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]

获取单个史诗状态事件#

返回特定群组史诗的单个状态事件。

plaintext
GET /groups/:id/epics/:epic_id/resource_state_events/:resource_state_event_id

参数:

属性类型必需描述
idinteger/string群组的 ID 或 URL 编码路径
epic_idinteger史诗的 ID。
resource_state_event_idinteger状态事件的 ID。

示例请求:

shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/epics/11/resource_state_events/143"

示例响应:

json
1{ 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}