正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

フリーズ期間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"