更新时间:2025-07-24 GMT+08:00
分享

更新仓库保护分支

功能介绍

更新仓库保护分支

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

PUT /v4/repositories/{repository_id}/protected-branch

表1 路径参数

参数

是否必选

参数类型

描述

repository_id

Integer

参数解释:

仓库的ID,通过查询用户所有仓库接口查询项目列表获取。

约束限制:

不涉及。

取值范围:

1-2147483647

表2 Query参数

参数

是否必选

参数类型

描述

branch_name

String

参数解释:

保护分支名或通配符表达式。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

默认取值:

不涉及

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

约束限制:

必传。

取值范围:

字符串长度不少于1,不超过10万。

默认取值:

不涉及。

表4 请求Body参数

参数

是否必选

参数类型

描述

[数组元素]

Array of ProtectedBranchProtectedActionBodyDto objects

保护分支权限列表

表5 ProtectedBranchProtectedActionBodyDto

参数

是否必选

参数类型

描述

enable

Boolean

参数解释:

是否启用。

约束限制:

不涉及。

取值范围:

  • true,开启规则限制

  • false,关闭规则限制

默认取值:

不涉及。

默认取值:

true

user_ids

Array of objects

参数解释:

用户ID列表。

约束限制:

不涉及。

取值范围:

Integer

默认取值:

不涉及。

取值范围:

1-2147483647

user_team_ids

Array of integers

参数解释:

成员组ID列表。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

取值范围:

1-2147483647

related_role_ids

Array of strings

参数解释:

关联角色ID列表。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

action

String

参数解释:

事件名称。

约束限制:

action中必传此字段。

取值范围:

  • push,推送 。

  • merge,合并 。

默认取值:

不涉及。

枚举值:

  • push

  • merge

响应参数

状态码:200

表6 响应Body参数

参数

参数类型

描述

id

Integer

参数解释:

保护分支ID。

取值范围:

1-2147483647

取值范围:

1-2147483647

name

String

参数解释:

分支名称或通配符。

取值范围:

不涉及。

actions

Array of RepositoryProtectedActionDto objects

参数解释:

事件列表。

取值范围:

不涉及。

表7 RepositoryProtectedActionDto

参数

参数类型

描述

action

String

参数解释:

事件名称。

取值范围:

不涉及。

enable

Boolean

参数解释:

是否启用。

取值范围:

  • true,开启规则限制。

  • false,未开启规则限制。

users

Array of RepositoryUserDto objects

参数解释:

白名单用户列表。

取值范围:

不涉及。

user_teams

Array of UserTeamBasicDto objects

参数解释:

白名单用户组列表。

取值范围:

不涉及。

roles

Array of BasicRoleDto objects

参数解释:

白名单角色列表。

取值范围:

不涉及。

表8 RepositoryUserDto

参数

参数类型

描述

id

Integer

参数解释:

用户id。

取值范围:

1-2147483647

name

String

参数解释:

用户名称。

username

String

参数解释:

用户名。

state

String

参数解释:

用户状态。

取值范围:

不涉及。

avatar_url

String

参数解释:

头像地址。

取值范围:

不涉及。

nick_name

String

参数解释:

用户昵称。

取值范围:

不涉及。

tenant_name

String

参数解释:

所属租户名称。

取值范围:

不涉及。

表9 UserTeamBasicDto

参数

参数类型

描述

id

Integer

参数解释:

用户组ID。

取值范围:

1-2147483647

name

String

参数解释:

用户组名称。

取值范围:

不涉及。

表10 BasicRoleDto

参数

参数类型

描述

id

Integer

参数解释:

角色ID。

取值范围:

1-2147483647

name

String

参数解释:

角色名称。

取值范围:

不涉及。

related_role_id

String

参数解释:

关联角色ID。

取值范围:

不涉及。

chinese_name

String

参数解释:

角色中文名。

取值范围:

不涉及。

请求示例

更新仓库保护分支

PUT /v4/repositories/123/protected-branch?branch_name=tt*

[ {
  "action" : "push",
  "enable" : true,
  "user_ids" : [ 9090 ],
  "user_team_ids" : [ 247, 521 ],
  "related_role_ids" : [ "Administrator", "24f72d0b611746c3a43da596ea5065f5" ]
}, {
  "action" : "merge",
  "enable" : true,
  "user_ids" : [ 9124 ],
  "user_team_ids" : [ 247 ],
  "related_role_ids" : [ "Administrator", "31bcd56943f0491fbc2f410d163f70cc", "24f72d0b611746c3a43da596ea5065f5" ]
} ]

响应示例

状态码:200

仓库保护分支

{
  "id" : 2112012344,
  "name" : "t*",
  "actions" : [ {
    "action" : "push",
    "enable" : true,
    "users" : [ {
      "id" : 9493,
      "name" : "user",
      "username" : "84280e40b7974b9eaff329f8e43a5080",
      "state" : "active",
      "avatar_url" : "",
      "nick_name" : "user",
      "tenant_name" : "tenantName"
    } ],
    "user_teams" : [ {
      "id" : 247,
      "name" : "team-1"
    } ],
    "roles" : [ {
      "id" : 23836589,
      "name" : "Committer",
      "related_role_id" : "8425999e92974f2980b76b08ad423aa1",
      "chinese_name" : "Committer"
    }, {
      "id" : 23836590,
      "name" : "Developer",
      "related_role_id" : "f2464b129b064a6a988734a73c3f366b",
      "chinese_name" : "开发人员"
    }, {
      "id" : 23836594,
      "name" : "Project manager",
      "related_role_id" : "6115a3ddd9044e288c558d1ae827a732",
      "chinese_name" : "项目经理"
    }, {
      "id" : 23836597,
      "name" : "Test manager",
      "related_role_id" : "24f72d0b611746c3a43da596ea5065f5",
      "chinese_name" : "测试经理"
    } ]
  }, {
    "action" : "merge",
    "enable" : true,
    "users" : [ {
      "id" : 9493,
      "name" : "user",
      "username" : "84280e40b7974b9eaff329f8e43a5080",
      "state" : "active",
      "avatar_url" : "",
      "nick_name" : "user",
      "tenant_name" : "tenantName"
    } ],
    "user_teams" : [ {
      "id" : 247,
      "name" : "team-1"
    } ],
    "roles" : [ {
      "id" : 23836589,
      "name" : "Committer",
      "related_role_id" : "8425999e92974f2980b76b08ad423aa1",
      "chinese_name" : "Committer"
    }, {
      "id" : 23836590,
      "name" : "Developer",
      "related_role_id" : "f2464b129b064a6a988734a73c3f366b",
      "chinese_name" : "开发人员"
    }, {
      "id" : 23836595,
      "name" : "Administrator",
      "related_role_id" : "7a96af96176e4f728f571b8af8551dec",
      "chinese_name" : "项目管理员"
    }, {
      "id" : 23836597,
      "name" : "Test manager",
      "related_role_id" : "24f72d0b611746c3a43da596ea5065f5",
      "chinese_name" : "测试经理"
    } ]
  } ]
}

状态码

状态码

描述

200

仓库保护分支

错误码

请参见错误码

相关文档