保護されたタグ API
有効なアクセスレベル
これらのアクセスレベルが認識されます:
-
0
:アクセス禁止 -
30
:開発者ロール -
40
:メンテナーのロール
保護されたタグの一覧
GitLab 16.0で導入されたキー情報をデプロイします。
プロジェクトから保護されたタグのリストを取得します。この関数は、pagination パラメータpage
とper_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 | タグの名前。 |