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

新建保护分支(废弃)

功能介绍

新建保护分支

当前API已经废弃,请使用批量创建仓库保护分支

调试

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

URI

PUT /v2/repositories/{repository_id}/branch/{branch_name}/protect

表1 路径参数

参数

是否必选

参数类型

描述

repository_id

Integer

仓库主键id

branch_name

String

分支名称

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

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

表3 请求Body参数

参数

是否必选

参数类型

描述

access_level

AddProtectAccessLevel object

新建保护分支权限

表4 AddProtectAccessLevel

参数

是否必选

参数类型

描述

push_access_level

Integer

提交权限 0:任何人不允许提交,30:开发者及管理员可提交,40:管理员可提交

枚举值:

  • 0

  • 30

  • 40

merge_access_level

Integer

合并权限 0:任何人不允许合并,30:开发者及管理员可合并,40:管理员可合并,合并权限必须大于等于提交权限

枚举值:

  • 0

  • 30

  • 40

响应参数

状态码: 200

表5 响应Body参数

参数

参数类型

描述

error

Error object

响应错误

result

AddProtectResponse object

响应结果

status

String

参数解释

响应状态。

取值范围:

  • success,表示接口调用成功。
  • failed,表示接口调用失败。
表6 Error

参数

参数类型

描述

code

String

错误码

message

String

错误信息

表7 AddProtectResponse

参数

参数类型

描述

name

String

分支名称

commit

CommitRepoV2 object

提交信息

protected

Boolean

是否保护

developers_can_push

Boolean

是否允许开发者提交

developers_can_merge

Boolean

是否允许开发者合并

master_can_push

Boolean

是否允许管理员提交

master_can_merge

Boolean

是否允许管理员合并

no_one_can_push

Boolean

没有人允许提交

no_one_can_merge

Boolean

没有人允许合并

in_an_opened_merge_request

Boolean

是否在一个打开的合并请求

表8 CommitRepoV2

参数

参数类型

描述

id

String

提交对应的SHA id

short_id

String

提交对应的短SHA id

created_at

String

创建时间

title

String

提交标题

parent_ids

Array of strings

父提交id

message

String

提交信息

author_name

String

作者

committer_name

String

提交作者

committed_date

String

提交时间

请求示例

PUT https://{endpoint}/v2/repositories/{repository_id}/branch/{branch_name}/protect

{
  "access_level" : {
    "push_access_level" : 40,
    "merge_access_level" : 40
  }
}

响应示例

状态码: 200

OK

{
  "result" : {
    "name" : "master",
    "commit" : {
      "id" : "3b68902cf0eb7de3d5c8757e4a990bc3fe0af349",
      "short_id" : "3b68902c",
      "title" : "新建文件",
      "created_at" : "2022-03-08T03:14:39.000Z",
      "parent_ids" : [ "08618c900a4048aae7e4cd88913d3d521eae02eb" ],
      "message" : "新建文件",
      "author_name" : "repo",
      "committer_name" : "repo",
      "committed_date" : "2022-03-08T03:14:39.000Z"
    },
    "protected" : true,
    "developers_can_push" : false,
    "developers_can_merge" : false,
    "master_can_push" : false,
    "master_can_merge" : false,
    "no_one_can_push" : true,
    "no_one_can_merge" : true,
    "in_an_opened_merge_request" : false
  },
  "status" : "success"
}

状态码

状态码

描述

200

OK

错误码

请参见错误码

相关文档