凍結期間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"