保護されたタグ API

有効なアクセスレベル

これらのアクセスレベルが認識されます:

  • 0:アクセス禁止
  • 30:開発者ロール
  • 40:メンテナーのロール

保護されたタグの一覧

GitLab 16.0で導入されたキー情報をデプロイします。

プロジェクトから保護されたタグのリストを取得します。この関数は、pagination パラメータpageper_page を受け取り、保護されたタグのリストを制限します。

GET /projects/:id/protected_tags
属性種類必須説明
id整数または文字列。yes認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  "https://gitlab.example.com/api/v4/projects/5/protected_tags"

応答例

[
  {
    "name": "release-1-0",
    "create_access_levels": [
      {
        "id":1,
        "access_level": 40,
        "access_level_description": "Maintainers"
      },
      {
        "id": 2,
        "access_level": 40,
        "access_level_description": "Deploy key",
        "deploy_key_id": 1
      }
    ]
  },
  ...
]

単一のプロテクトタグまたはワイルドカードのプロテクトタグを取得します。

単一のプロテクトタグまたはワイルドカードのプロテクトタグを取得します。

GET /projects/:id/protected_tags/:name
属性種類必須説明
id整数または文字列。yes認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス
name文字列です。yesタグの名前またはワイルドカード。
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  "https://gitlab.example.com/api/v4/projects/5/protected_tags/release-1-0"

応答例

{
  "name": "release-1-0",
  "create_access_levels": [
    {
      "id": 1,
      "access_level": 40,
      "access_level_description": "Maintainers"
    }
  ]
}

リポジトリタグの保護

ワイルドカードの保護タグを使用して、単一のリポジトリタグ、または複数のプロジェクトリポジトリタグを保護します。

POST /projects/:id/protected_tags
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
   "https://gitlab.example.com/api/v4/projects/5/protected_tags" -d '{
   "allowed_to_create" : [
      {
         "user_id" : 1
      },
      {
         "access_level" : 30
      }
   ],
   "create_access_level" : 30,
   "name" : "*-stable"
}'
属性種類必須説明
id整数または文字列。yes認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス
name文字列です。yesタグの名前またはワイルドカード。
allowed_to_createアレイいいえタグの作成が許可されるアクセスレベルの配列。各レベルは{user_id: integer},{group_id: integer}, または{access_level: integer} の形式のハッシュで記述されます。
create_access_level文字列です。いいえ作成を許可するアクセス・レベル。デフォルト:40、メンテナーのロールの場合。

応答例

{
  "name": "*-stable",
  "create_access_levels": [
    {
      "id": 1,
      "access_level": 30,
      "access_level_description": "Developers + Maintainers"
    }
  ]
}

リポジトリタグの保護解除

指定された保護されたタグまたはワイルドカードの保護されたタグの保護を解除します。

DELETE /projects/:id/protected_tags/:name
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  "https://gitlab.example.com/api/v4/projects/5/protected_tags/*-stable"
属性種類必須説明
id整数または文字列。yes認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス
name文字列です。yesタグの名前。