受保护的标签 API

有效访问级别

当前级别为:

0  => No access
30 => Developer access
40 => Maintainer access

列出受保护标签

从项目中获取受保护标签的列表。此功能使用分页参数 pageper_page 来限制受保护标签的列表。

GET /projects/:id/protected_tags
参数 类型 是否必需 描述
id integer/string 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"
      }
    ]
  },
  ...
]

获取单个受保护标签或通配符受保护标签

获取单个受保护标签或通配符受保护标签。使用分页参数 pageper_page 来限制受保护标签的列表。

GET /projects/:id/protected_tags/:name
参数 类型 是否必需 描述
id integer/string yes 授权用户拥有的 ID 或 URL 编码的项目路径
name string 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?name=*-stable&create_access_level=30"
参数 类型 是否必需 描述
id integer/string yes 授权用户拥有的 ID 或 URL 编码的项目路径
name string yes 标签或通配符的名称
create_access_level string no 允许创建的访问级别(默认为 40,维护者角色)
allowed_to_create array no 允许创建标签的访问级别阵列,每个由格式为 {user_id: integer}{group_id: integer}{access_level: integer} 的哈希进行描述

响应示例:

{
  "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 integer/string yes 授权用户拥有的 ID 或 URL 编码的项目路径
name string yes 标签名称