创建代码库保护分支。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
当前API暂无授权信息透出。
请求语法
POST /repository/{repositoryId}/protect_branches
请求参数
| 名称 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| organizationId | string | 是 | 企业标识,也称企业 id,字符串形式,可在云效访问链接中获取,如 https://devops.aliyun.com/organization/【OrganizationId】 | 60de7a6852743a5162b5f957 |
| accessToken | string | 否 | 个人访问令牌。 使用阿里云 AK+SK 或使用 STS 临时授权方式不需要传该字段 | f0b1e61db5961df5975a93f9129d2513 |
| repositoryId | long | 是 | 代码库 ID | 2813891 |
| body | object | 是 | 请求 Body | |
| id | long | 否 | 保护分支规则 ID | -- |
| branch | string | 是 | 保护分支名称 | protectBranch |
| allowPushRoles | array | 否 | 允许推送角色列表 | |
| integer | 否 | 40:管理员 | [40, 30] | |
| allowPushUserIds | array | 否 | 允许推送用户 ID | |
| string | 否 | 阿里云账号 ID | 2344667212345561 | |
| allowMergeRoles | array | 是 | 允许合并角色列表 | |
| integer | 是 | 40:管理员 | [40, 30] | |
| allowMergeUserIds | array | 否 | 允许合并用户 ID | |
| string | 否 | 阿里云账号 ID | 123345678912345 | |
| mergeRequestSetting | object | 否 | 合并前的代码评审设置 | |
| isRequired | boolean | 否 | 是否开启 | true |
| mrMode | string | 否 | 评审模式
| general |
| isAllowSelfApproval | boolean | 否 | 是否允许创建者通过代码评审 | true |
| isRequireDiscussionProcessed | boolean | 否 | 是否要求评论全部已解决 | true |
| isResetApprovalWhenNewPush | boolean | 否 | 是否在有新的提交时重置评审 | false |
| minimumApproval | integer | 否 | 评审通过的最少人数 说明
仅普通模式生效
| 1 |
| allowMergeRequestRoles | array | 否 | 允许合并角色列表 | |
| integer | 否 | 40:管理员(默认) | [40, 30] | |
| defaultAssignees | array | 否 | 默认评审人 | |
| string | 否 | 阿里云账号 ID | 1234567891234567 | |
| 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": "C2F153F6-BB43-50C4-9F4F-40593203E19A",
"errorMessage": "\"\"",
"errorCode": "Openapi.RequestError",
"success": true,
"result": {
"id": 5240,
"branch": "protectBranch",
"allowPushRoles": [
40
],
"allowPushUserIds": [
19238
],
"allowMergeRoles": [
40
],
"allowMergeUserIds": [
19238
],
"mergeRequestSetting": {
"isRequired": true,
"mrMode": "general",
"isAllowSelfApproval": true,
"isRequireDiscussionProcessed": true,
"isResetApprovalWhenNewPush": false,
"minimumApproval": 1,
"allowMergeRequestRoles": [
40
],
"defaultAssignees": [
"5f969843cd2214ba0e24327d"
],
"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. | 用户无权限执行相关操作 |
| 403 | Forbidden.UserNotInCurrentOrganization | The user is not in the organization and is not authorized to perform the operation. | 当前用户不在该企业中,无权进行操作。 |
访问错误中心查看更多错误码。
变更历史
| 变更时间 | 变更内容概要 | 操作 |
|---|---|---|
| 2023-06-05 | OpenAPI 错误码发生变更 | 查看变更详情 |
