フリーズ期間API
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
このAPIを使用して、デプロイメントfreeze periodsを操作します。
パーミッションとセキュリティ
レポーター以上のパーミッションを持つユーザーは、Freeze Period APIエンドポイントを読み取り可能です。メンテナーロールを持つユーザーのみが、Freeze Periodを変更できます。
Freeze periodの一覧表示
昇順でcreated_atでソートされた、freeze periodのページ分割されたリスト。
GET /projects/:id/freeze_periods| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトの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の取得
指定されたfreeze_period_idのfreeze periodを取得します。
GET /projects/:id/freeze_periods/:freeze_period_id| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
freeze_period_id | 整数 | はい | Freeze periodの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"
}Freeze periodの作成
Freeze periodを作成します。
POST /projects/:id/freeze_periods| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
freeze_start | 文字列 | はい | cron形式でのフリーズ期間の開始。 |
freeze_end | 文字列 | はい | cron形式でのフリーズ期間の終了。 |
cron_timezone | 文字列 | いいえ | 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の更新
指定されたfreeze_period_idのfreeze periodを更新します。
PUT /projects/:id/freeze_periods/:freeze_period_id| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
freeze_period_id | 整数 | はい | Freeze periodのID。 |
freeze_start | 文字列 | いいえ | cron形式でのフリーズ期間の開始。 |
freeze_end | 文字列 | いいえ | cron形式でのフリーズ期間の終了。 |
cron_timezone | 文字列 | いいえ | 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の削除
指定されたfreeze_period_idのfreeze periodを削除します。
DELETE /projects/:id/freeze_periods/:freeze_period_id| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
freeze_period_id | 整数 | はい | Freeze periodのID。 |
リクエスト例:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/19/freeze_periods/1"