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

コンテナレジストリ保護タグルールAPI

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed

このAPIを使用して、保護されたコンテナタグを管理します。

コンテナレジストリ保護タグルールの一覧表示

プロジェクトのコンテナレジストリ保護タグルールの一覧を取得します。

GET /api/v4/projects/:id/registry/protection/tag/rules

サポートされている属性:

属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス

成功した場合、200 OKと次のレスポンス属性を返します:

属性説明
id整数保護されたコンテナタグルールのID。
minimum_access_level_for_delete文字列タグの削除に必要な最小アクセスレベル(maintainerownerなど)。
minimum_access_level_for_push文字列タグへのプッシュに必要な最小アクセスレベル(maintainerownerなど)。
project_id整数プロジェクトのID。
tag_name_pattern文字列タグタグ名パターン(v*-releaselatestなど)。

リクエスト例:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/7/registry/protection/tag/rules"

レスポンス例:

[
  {
    "id": 1,
    "project_id": 7,
    "tag_name_pattern": "v*-release",
    "minimum_access_level_for_push": "maintainer",
    "minimum_access_level_for_delete": "maintainer"
  },
  {
    "id": 2,
    "project_id": 7,
    "tag_name_pattern": "latest",
    "minimum_access_level_for_push": "owner",
    "minimum_access_level_for_delete": "owner"
  }
]

コンテナレジストリ保護タグルールを更新

プロジェクトのコンテナレジストリ保護タグルールを更新します。

PATCH /api/v4/projects/:id/registry/protection/tag/rules/:protection_rule_id

サポートされている属性:

属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
protection_rule_id整数はい更新する保護タグルールのID。
minimum_access_level_for_delete文字列いいえコンテナタグの削除に必要な最小アクセスレベル。たとえば、maintainerowneradminなどです。値を設定しない場合は、空の文字列("")を使用します。
minimum_access_level_for_push文字列いいえコンテナタグのプッシュに必要な最小アクセスレベル。例: maintainerowneradmin。値を設定しない場合は、空の文字列("")を使用します。
tag_name_pattern文字列いいえ保護ルールによって保護されているコンテナタグタグ名パターン。例: v*-release。ワイルドカード文字*を使用できます。

成功した場合、200 OKステータスコードを返します。保護タグルールを更新できなかった場合は、422 Unprocessable Entityを返します。たとえば、tag_name_patternコードがすでに使用されている場合などです。

リクエスト例:

curl --request PATCH \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --header "Content-Type: application/json" \
  --url "https://gitlab.example.com/api/v4/projects/7/registry/protection/tag/rules/1" \
  --data '{
       "tag_name_pattern": "v*-stable"
    }'