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

仮想レジストリのクリーンアップポリシーAPI

  • プラン: Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
  • ステータス: 実験的機能

これらのエンドポイントの可用性は、機能フラグによって制御されます。詳細については、履歴を参照してください。使用する前に、ドキュメントを注意深く確認してください。

このAPIを使用して以下を行います:

  • 仮想レジストリのクリーンアップポリシーを作成および管理します。
  • クリーンアップポリシーのスケジュールと保持を設定します。
  • 未使用のキャッシュエントリを自動的にクリーンアップポリシーします。

クリーンアップポリシーを管理

仮想レジストリのクリーンアップポリシーを作成および管理するには、次のエンドポイントを使用します。各グループが持つことができるクリーンアップポリシーは1つのみです。

グループのクリーンアップポリシーを取得します

グループのクリーンアップポリシーを取得します。各グループが持つことができるクリーンアップポリシーは1つのみです。

GET /groups/:id/-/virtual_registries/cleanup/policy

サポートされている属性は以下のとおりです:

属性必須説明
id文字列または整数はいグループIDまたは完全なグループパス。トップレベルグループである必要があります。

リクエスト例:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
     --header "Accept: application/json" \
     --url "https://gitlab.example.com/api/v4/groups/5/-/virtual_registries/cleanup/policy"

レスポンス例:

{
  "group_id": 5,
  "next_run_at": "2024-06-06T12:28:27.855Z",
  "last_run_at": "2024-05-30T12:28:27.855Z",
  "last_run_deleted_size": 1048576,
  "last_run_deleted_entries_count": 25,
  "keep_n_days_after_download": 30,
  "status": "scheduled",
  "cadence": 7,
  "enabled": true,
  "failure_message": null,
  "last_run_detailed_metrics": {
    "maven": {
      "deleted_entries_count": 25,
      "deleted_size": 1048576
    }
  },
  "created_at": "2024-05-30T12:28:27.855Z",
  "updated_at": "2024-05-30T12:28:27.855Z"
}

クリーンアップポリシーを作成する

グループのクリーンアップポリシーを作成します。各グループが持つことができるクリーンアップポリシーは1つのみです。

POST /groups/:id/-/virtual_registries/cleanup/policy
属性必須説明
id文字列または整数はいグループIDまたは完全なグループパス。トップレベルグループである必要があります。
cadence整数いいえクリーンアップポリシーの実行頻度。次のいずれかである必要があります: 1(毎日)、7(毎週)、14(隔週)、30(毎月)、90(四半期ごと)。
enabledブール値いいえクリーンアップポリシーを有効または無効にします。
keep_n_days_after_download整数いいえ未使用のキャッシュエントリをクリーンアップポリシーするまでの日数。1~365の間である必要があります。

リクエスト例:

curl --request POST \
     --header "PRIVATE-TOKEN: <your_access_token>" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json" \
     --data '{"enabled": true, "keep_n_days_after_download": 30, "cadence": 7}' \
     --url "https://gitlab.example.com/api/v4/groups/5/-/virtual_registries/cleanup/policy"

レスポンス例:

{
  "group_id": 5,
  "next_run_at": "2024-06-06T12:28:27.855Z",
  "last_run_at": null,
  "last_run_deleted_size": 0,
  "last_run_deleted_entries_count": 0,
  "keep_n_days_after_download": 30,
  "status": "scheduled",
  "cadence": 7,
  "enabled": true,
  "failure_message": null,
  "last_run_detailed_metrics": {},
  "created_at": "2024-05-30T12:28:27.855Z",
  "updated_at": "2024-05-30T12:28:27.855Z"
}

クリーンアップポリシーを更新する

グループのクリーンアップポリシーを更新します。

PATCH /groups/:id/-/virtual_registries/cleanup/policy
属性必須説明
id文字列または整数はいグループIDまたは完全なグループパス。トップレベルグループである必要があります。
cadence整数いいえクリーンアップポリシーの実行頻度。次のいずれかである必要があります: 1(毎日)、7(毎週)、14(隔週)、30(毎月)、90(四半期ごと)。
enabledブール値いいえポリシーを有効/無効にするブール値。
keep_n_days_after_download整数いいえ未使用のキャッシュエントリをクリーンアップポリシーするまでの日数。1~365の間である必要があります。

少なくとも1つのオプションパラメータをリクエストで指定する必要があります。

リクエスト例:

curl --request PATCH \
     --header "PRIVATE-TOKEN: <your_access_token>" \
     --header "Content-Type: application/json" \
     --data '{"keep_n_days_after_download": 60}' \
     --url "https://gitlab.example.com/api/v4/groups/5/-/virtual_registries/cleanup/policy"

レスポンス例:

{
  "group_id": 5,
  "next_run_at": "2024-06-06T12:28:27.855Z",
  "last_run_at": "2024-05-30T12:28:27.855Z",
  "last_run_deleted_size": 1048576,
  "last_run_deleted_entries_count": 25,
  "keep_n_days_after_download": 60,
  "status": "scheduled",
  "cadence": 7,
  "enabled": true,
  "failure_message": null,
  "last_run_detailed_metrics": {
    "maven": {
      "deleted_entries_count": 25,
      "deleted_size": 1048576
    }
  },
  "created_at": "2024-05-30T12:28:27.855Z",
  "updated_at": "2024-05-30T12:28:27.855Z"
}

クリーンアップポリシーを削除

グループのクリーンアップポリシーを削除します。

DELETE /groups/:id/-/virtual_registries/cleanup/policy
属性必須説明
id文字列または整数はいグループIDまたは完全なグループパス。トップレベルグループである必要があります。

リクエスト例:

curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
     --header "Accept: application/json" \
     --url "https://gitlab.example.com/api/v4/groups/5/-/virtual_registries/cleanup/policy"

成功した場合、204 No Contentステータスコードを返します。