更改保护分支设置。 支持对于保护分支规则的详细设置,包括分支、推送规则、合并规则、要求合并前通过代码评审以及要求合并前通过自动化状态检查。
接口说明
organizationId 和 body 中的 branch 参数为必填项。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
请求语法
PUT /{repositoryId}/protect_branches/{id}
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
organizationId | string | 是 | 企业标识,也称企业 ID,字符串形式,可在云效访问链接中获取,如 https://devops.aliyun.com/organization/【OrganizationId】 | f0b1e61db5961df5975a93f9129d2513 |
accessToken | string | 否 | 个人访问令牌。 使用阿里云 AK+SK 或使用 STS 临时授权方式不需要传该字段 | f0b1e61db5961df5975a93f9129d2513 |
repositoryId | long | 是 | 代码库 ID | 2835387 |
id | long | 是 | 保护分支规则 ID | 19224 |
body | object | 是 | 请求 Body | |
id | long | 否 | 保护分支规则 ID | 19224 |
branch | string | 是 | 代码分支名称(若不修改保护分支,则维持原来的分支名;若需要修改保护分支,则给予修改的分支名称) | master |
allowPushRoles | array | 否 | 允许推送的角色列表 | |
integer | 否 | 40:管理员 | [40, 30] | |
allowPushUserIds | array | 否 | 允许推送的用户 ID 列表 | |
string | 否 | 阿里云账号 ID | [19258, 19262] | |
allowMergeRoles | array | 否 | 允许合并的角色列表 | |
integer | 否 | 40:管理员 | [40, 30] | |
allowMergeUserIds | array | 否 | 允许合并的用户 ID 列表 | |
string | 否 | 阿里云账号 ID | [19258, 19262] | |
mergeRequestSetting | object | 否 | 合并前的代码评审设置 | |
isRequired | boolean | 否 | 是否开启 | true |
mrMode | string | 否 | 评审模式 | general |
isAllowSelfApproval | boolean | 否 | 是否允许创建者通过代码评审 可选值:true / false | true |
isRequireDiscussionProcessed | boolean | 否 | 是否要求评论全部已解决 可选值:true / false | true |
isResetApprovalWhenNewPush | boolean | 否 | 是否在有新的提交时重置评审 可选值:true / false | false |
minimumApproval | integer | 否 | 评审通过的最少人数 注:仅普通模式生效 | 1 |
allowMergeRequestRoles | array | 否 | 允许通过合并请求的角色列表 | |
integer | 否 | 40:管理员(默认) | [40, 30] | |
defaultAssignees | array | 否 | 默认评审者的 ID 列表 | |
string | 否 | 用户 ID | 1234 | |
whiteList | string | 否 | 评审文件白名单 注意:加入白名单的文件不受「评审通过的最少人数」限制,无需强制人工评审 | **.java |
testSettingDTO | object | 否 | 合并前的自动化状态检查设置 | |
isRequired | boolean | 否 | 是否开启 | false |
codeGuidelinesDetection | object | 否 | 代码规约扫描 | |
enabled | boolean | 否 | 是否开启 | false |
message | string | 否 | 描述信息 | test_code_guide_lines |
sensitiveInfoDetection | object | 否 | 敏感信息扫描 | |
enabled | boolean | 否 | 是否开启敏感信息扫描 | false |
message | string | 否 | 描述信息 | test_code_sensitive_info |
checkTaskQualityConfig | object | 否 | 代码质量检测 | |
enabled | boolean | 否 | 是否开启代码质量检测 | false |
bizNo | string | 否 | 任务流水号 | 123456 |
taskName | string | 否 | 任务名称 | bz-task-quality |
message | string | 否 | 信息 | test_task_quality |
checkConfig | object | 否 | MR 卡点流水线配置 | |
checkItems | array<object> | 否 | 配置项列表 | |
object | 否 | 配置项 | ||
name | string | 否 | 流水线名称 | 测试流水线 |
isRequired | boolean | 否 | 是否卡点 | false |
如果只是修改个别字段,请查询后,直接修改查询结果,以查询结果作为参数进行更改。
返回参数
示例
正常返回示例
JSON
格式
{
"requestId": "A35869D5-BB29-5F84-A4DD-B09985EA2AFA",
"errorMessage": "\"\"",
"errorCode": "\t\nSYSTEM_UNKNOWN_ERROR\n",
"success": true,
"result": {
"id": 123456,
"branch": "master",
"allowPushRoles": [
0
],
"allowPushUserIds": [
0
],
"allowMergeRoles": [
0
],
"allowMergeUserIds": [
0
],
"mergeRequestSetting": {
"isRequired": true,
"mrMode": "general",
"isAllowSelfApproval": true,
"isRequireDiscussionProcessed": true,
"isResetApprovalWhenNewPush": false,
"minimumApproval": 1,
"allowMergeRequestRoles": [
0
],
"defaultAssignees": [
"1234"
],
"whiteList": "**.java"
},
"testSettingDTO": {
"isRequired": false,
"codeGuidelinesDetection": {
"enabled": false,
"message": "test_code_guide_lines"
},
"sensitiveInfoDetection": {
"enabled": false,
"message": "test_code_sensitive_info"
},
"checkTaskQualityConfig": {
"enabled": false,
"bizNo": "123456",
"taskName": "biz-task-quality",
"message": "test_task_quality"
},
"checkConfig": {
"checkItems": [
{
"name": "测试流水线",
"isRequired": false
}
]
}
}
}
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
403 | Forbidden.AccessDenied | The user is not authorized to perform the operation. | 用户无权限执行相关操作 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2023-04-06 | OpenAPI 错误码发生变更 | 查看变更详情 |
2022-11-21 | OpenAPI 错误码发生变更、OpenAPI 返回结构发生变更 | 查看变更详情 |
2022-09-20 | OpenAPI 错误码发生变更 | 查看变更详情 |