冻结周期 API

引入于 13.0 版本。

您可以使用冻结周期 API 来操作极狐GitLab 冻结周期条目。

权限和安全

具有报告者权限或更高权限的用户可以阅读冻结周期 API 端点。只有具有维护者角色的用户才能修改冻结周期。

冻结周期列表

冻结周期的分页列表,按 created_at 升序排序。

GET /projects/:id/freeze_periods
参数 类型 是否必需 描述
id integer/string yes 项目的 ID 或 URL 编码的路径

请求示例:

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/19/freeze_periods"

响应示例:

[
   {
      "id":1,
      "freeze_start":"0 23 * * 5",
      "freeze_end":"0 8 * * 1",
      "cron_timezone":"UTC",
      "created_at":"2020-05-15T17:03:35.702Z",
      "updated_at":"2020-05-15T17:06:41.566Z"
   }
]

通过 freeze_period_id 获取冻结周期

根据给定的 freeze_period_id 获取冻结周期。

GET /projects/:id/freeze_periods/:freeze_period_id
参数 类型 是否必需 描述
id integer or string yes 项目的 ID 或 URL 编码的路径
freeze_period_id integer yes 冻结周期的 ID。

请求示例:

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/19/freeze_periods/1"

响应示例:

{
   "id":1,
   "freeze_start":"0 23 * * 5",
   "freeze_end":"0 8 * * 1",
   "cron_timezone":"UTC",
   "created_at":"2020-05-15T17:03:35.702Z",
   "updated_at":"2020-05-15T17:06:41.566Z"
}

创建冻结周期

创建冻结周期。

POST /projects/:id/freeze_periods
参数 类型 是否必需 描述
id integer or string yes 项目的 ID 或 URL 编码的路径.
freeze_start string yes 定时任务格式的冻结周期开始时间。
freeze_end string yes 定时任务格式的冻结周期结束时间。
cron_timezone string no 定时任务字段的时区,如果没有提供,默认为 UTC。

请求示例:

curl --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" }' \
     --request POST "https://gitlab.example.com/api/v4/projects/19/freeze_periods"

响应示例:

{
   "id":1,
   "freeze_start":"0 23 * * 5",
   "freeze_end":"0 7 * * 1",
   "cron_timezone":"UTC",
   "created_at":"2020-05-15T17:03:35.702Z",
   "updated_at":"2020-05-15T17:03:35.702Z"
}

更新冻结周期

根据给定的 freeze_period_id 更新冻结周期。

PUT /projects/:id/freeze_periods/:freeze_period_id
参数 类型 是否必需 描述
id integer or string yes 项目的 ID 或 URL 编码的路径
freeze_period_id integer yes 冻结周期的 ID。
freeze_start string no 定时任务 格式的冻结周期开始时间。
freeze_end string no 定时任务 格式的冻结周期结束时间。
cron_timezone string no 定时任务字段的时区。

请求示例:

curl --header 'Content-Type: application/json' --header "PRIVATE-TOKEN: <your_access_token>" \
     --data '{ "freeze_end": "0 8 * * 1" }' \
     --request PUT "https://gitlab.example.com/api/v4/projects/19/freeze_periods/1"

响应示例:

{
   "id":1,
   "freeze_start":"0 23 * * 5",
   "freeze_end":"0 8 * * 1",
   "cron_timezone":"UTC",
   "created_at":"2020-05-15T17:03:35.702Z",
   "updated_at":"2020-05-15T17:06:41.566Z"
}

删除冻结周期

根据给定的 freeze_period_id 删除冻结周期。

DELETE /projects/:id/freeze_periods/:freeze_period_id
参数 类型 是否必需 描述
id integer or string yes 项目的 ID 或 URL 编码的路径
freeze_period_id integer yes 冻结周期的 ID。

请求示例:

curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/19/freeze_periods/1"