凍結期間API

GitLab 13.0から導入されました

Freeze Periods APIを使ってGitLabFreeze Periodエントリーを操作することができます。

権限とセキュリティ

レポーター権限以上のユーザーは、凍結期間APIエンドポイントを読むことができます。凍結期間を変更できるのは、メンテナーのロールを持つユーザーのみです。

凍結期間の一覧

created_at 、昇順にソートされた凍結期間のページ分割されたリスト。

GET /projects/:id/freeze_periods
属性種類必須説明
id整数/文字列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整数または文字列。yes プロジェクトのIDまたはURLエンコードされたパス
freeze_period_id整数。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整数または文字列。yes プロジェクトのIDまたはURLエンコードされたパス
freeze_start文字列です。yes cronフォーマットでのフリーズ期間の開始。
freeze_end文字列です。yes 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_id の凍結期間を更新します。

PUT /projects/:id/freeze_periods/:freeze_period_id
属性種類必須説明
id整数または文字列。yes プロジェクトのIDまたはURLエンコードされたパス
freeze_period_id整数。yes凍結期間の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_id の凍結期間を削除します。

DELETE /projects/:id/freeze_periods/:freeze_period_id
属性種類必須説明
id整数または文字列。yes プロジェクトのIDまたはURLエンコードされたパス
freeze_period_id整数。yes凍結期間のID。

リクエストの例

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