冻结期 API
Tier: 基础版,专业版,旗舰版
Offering: JihuLab.com,私有化部署
使用此 API 与部署冻结期进行交互。
列出冻结期
按 created_at 升序排列的冻结期分页列表。
先决条件:
- 您必须具有该项目的报告者、开发者、维护者或所有者角色。
plaintextGET /projects/:id/freeze_periods
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer or string | 是 | 项目的 ID 或 URL 编码路径。 |
示例请求:
shellcurl --request GET \ --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/projects/19/freeze_periods"
示例响应:
json1[ 2 { 3 "id":1, 4 "freeze_start":"0 23 * * 5", 5 "freeze_end":"0 8 * * 1", 6 "cron_timezone":"UTC", 7 "created_at":"2020-05-15T17:03:35.702Z", 8 "updated_at":"2020-05-15T17:06:41.566Z" 9 } 10]
获取冻结期
获取指定 freeze_period_id的冻结期。
先决条件:
- 您必须具有该项目的报告者、开发者、维护者或所有者角色。
plaintextGET /projects/:id/freeze_periods/:freeze_period_id
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer or string | 是 | 项目的 ID 或 URL 编码路径。 |
| freeze_period_id | integer | 是 | 冻结期的 ID。 |
示例请求:
shellcurl --request GET \ --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/projects/19/freeze_periods/1"
示例响应:
json1{ 2 "id":1, 3 "freeze_start":"0 23 * * 5", 4 "freeze_end":"0 8 * * 1", 5 "cron_timezone":"UTC", 6 "created_at":"2020-05-15T17:03:35.702Z", 7 "updated_at":"2020-05-15T17:06:41.566Z" 8}
创建冻结期
为指定项目创建冻结期。
先决条件:
- 您必须具有该项目的维护者或所有者角色。
plaintextPOST /projects/:id/freeze_periods
示例请求:
shellcurl --request POST \ --header 'Content-Type: application/json' \ --header "PRIVATE-TOKEN: <your_access_token>" \ --data '{ "freeze_start": "0 23 * * 5", "freeze_end": "0 7 * * 1", "cron_timezone": "UTC" }' \ --url "https://gitlab.example.com/api/v4/projects/19/freeze_periods"
示例响应:
json1{ 2 "id":1, 3 "freeze_start":"0 23 * * 5", 4 "freeze_end":"0 7 * * 1", 5 "cron_timezone":"UTC", 6 "created_at":"2020-05-15T17:03:35.702Z", 7 "updated_at":"2020-05-15T17:03:35.702Z" 8}
更新冻结期
更新指定 freeze_period_id的冻结期。
先决条件:
- 您必须具有该项目的维护者或所有者角色。
plaintextPUT /projects/:id/freeze_periods/:freeze_period_id
示例请求:
shellcurl --request PUT \ --header 'Content-Type: application/json' \ --header "PRIVATE-TOKEN: <your_access_token>" \ --data '{ "freeze_end": "0 8 * * 1" }' \ --url "https://gitlab.example.com/api/v4/projects/19/freeze_periods/1"
示例响应:
json1{ 2 "id":1, 3 "freeze_start":"0 23 * * 5", 4 "freeze_end":"0 8 * * 1", 5 "cron_timezone":"UTC", 6 "created_at":"2020-05-15T17:03:35.702Z", 7 "updated_at":"2020-05-15T17:06:41.566Z" 8}
删除冻结期
删除指定 freeze_period_id的冻结期。
先决条件:
- 您必须具有该项目的维护者或所有者角色。
plaintextDELETE /projects/:id/freeze_periods/:freeze_period_id
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer or string | 是 | 项目的 ID 或 URL 编码路径。 |
| freeze_period_id | integer | 是 | 冻结期的 ID。 |
示例请求:
shellcurl --request DELETE \ --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/projects/19/freeze_periods/1"