{{< details >}}
- Tier: 基础版, 专业版, 旗舰版
- Offering: JihuLab.com, 私有化部署
{{< /details >}}
您可以使用冻结期 API 来操作极狐GitLab 冻结期条目。
权限和安全性
具有 Reporter 权限或更高级别的用户可以读取冻结期 API 端点。只有具有 Maintainer 角色的用户才能修改冻结期。
列出冻结期
分页列出冻结期,按 created_at
升序排序。
GET /projects/:id/freeze_periods
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
integer/string | 是 | 项目的 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 | 是 | 项目的 ID 或 URL 编码路径。 |
freeze_period_id |
integer | 是 | 冻结期的 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 | 是 | 项目的 ID 或 URL 编码路径。 |
freeze_start |
string | 是 | 以 cron 格式表示的冻结期开始时间。 |
freeze_end |
string | 是 | 以 cron 格式表示的冻结期结束时间。 |
cron_timezone |
string | 否 | cron 字段的时区,如果未提供,则默认为 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 | 是 | 项目的 ID 或 URL 编码路径。 |
freeze_period_id |
integer | 是 | 冻结期的 ID。 |
freeze_start |
string | 否 | 以 cron 格式表示的冻结期开始时间。 |
freeze_end |
string | 否 | 以 cron 格式表示的冻结期结束时间。 |
cron_timezone |
string | 否 | cron 字段的时区。 |
示例请求:
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 | 是 | 项目的 ID 或 URL 编码路径。 |
freeze_period_id |
integer | 是 | 冻结期的 ID。 |
示例请求:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/19/freeze_periods/1"