更新时间:2023-05-06 GMT+08:00

新建保护分支

功能介绍

新建保护分支

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

响应状态

表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

错误码

请参见错误码