该接口用于创建保护分支
请求方式:POST/api/v4/projects/[ProjectId]/repository/protect_branches
请求Action:CreateRepositoryProtectedBranch
请求参数:
参数名 | 类型 | 说明 | 是否必须 | 默认值 |
---|---|---|---|---|
ProjectId | long | 代码库id | 是 |
请求 body :
{
"branch":"master",
"allow_merge":[
40
],
"allow_push":[
40,
30
],
"merge_request":{
"required":true,
"mr_mode":"general",
"allow_self_approval":true,
"minimum_approval":1,
"default_assignees":[
"5f68a8ea18c17e77481019fa"
],
"allow_merge_request":[
40,
30
],
"is_require_discussion_processed":true
},
"test_setting":{
"required":true,
"sensitive_info_detection":{
"enabled":true
},
"coding_guidelines_detection":{
"enabled":true
}
}
}
body参数说明:
参数名 | 类型 | 说明 | 是否必须 | 默认值 |
---|---|---|---|---|
branch | string | 分支名称。支持通配符 ? 和 * ,如:*-stable 或 release/* | 是 | |
allow_merge | list<integer> | 允许合并的角色。 40:管理员 30:开发者 | 是 | |
allow_push | list<integer> | 允许推送代码的角色。 40:管理员 30:开发者 | 是 | |
merge_request | object | 代码评审设置 | 是 | |
-> required | boolean | 是否要求合并前通过代码评审。 | 是 | |
-> allow_self_approval | boolean | 是否允许创建者通过代码评审。 | 是 | |
-> is_require_discussion_processed | boolean | 是否要求评论全部已解决。 | 是 | |
-> mr_mode | string | 评审模式。可选:
| 是 | |
-> minimum_approval | integer | 评审通过的最少人数。 注:仅普通模式生效。 | 是 | |
-> allow_merge_request | list<integer> | 允许通过代码评审的角色。 40:管理员 30:开发者 | 是 | |
-> default_assignees | list<integer> | 默认评审者。 传入云效用户 ID 列表。 | 是 | |
test_setting | object | 自动化检查设置 | 是 | |
-> required | boolean | 要求合并前通过自动化执行检查。 | 是 | |
-> sensitive_info_detection | object | 敏感信息检查 | 否 | |
-> enabled | boolean | 合并前是否需要通过敏感信息检查。 注:开启前需要检查敏感信息扫描是否开启。 | 否 | |
-> coding_guidelines_detection | object | Java 代码规约扫描 | 否 | |
-> enabled | boolean | 合并前是否需要通过Java 代码规约扫描。 注:开启前需要检查 Java 代码规约扫描是否开启 | 否 |
返回 body :
{
"RequestId": "",
"Success":true,
"Result": {
"Id": 123456,
"Branch": "master",
"AllowPushRoles": [30,40],
"AllowMergeRoles": [30,40],
"MergeRequestSetting": {
"Required": true,
"MergeRequestMode": "general",
"AllowSelfApproval": true,
"IsRequireDiscussionProcessed": true,
"MinimualApproval": 2,
"AllowMergeRequestRoles": [30,40],
"DefaultAssignees": ["5f68a8ea18c17e77481019fa"],
}
"TestSetting": {
"Required": true,
"SensitiveInfoDetection": {
"Enabled": true
},
"CodingGuidelinesDetection": {
"Enabled": true
}
}
}
}
返回结果说明:
参数名 | 类型 | 说明 |
---|---|---|
Id | long | 保护分支 ID |
Branch | string | 保护分支名称 |
AllowPushRoles | list<integer> | 允许推送代码的角色。 40:管理员 30:开发者 |
AllowMergeRoles | list<integer> | 允许合并的角色。 40:管理员 30:开发者 |
MergeRequestSetting | object | 代码评审设置 |
-> Required | boolean | 是否要求合并前通过代码评审。 |
-> AllowSelfApproval | boolean | 是否允许创建者通过代码评审。 |
-> IsRequireDiscussionProcessed | boolean | 是否要求评论全部已解决。 |
-> MergeRequestMode | string | 评审模式。
|
-> MinimualApproval | integer | 评审通过的最少人数。 注:仅普通模式生效。 |
-> AllowMergeRequestRoles | list<integer> | 允许通过代码评审的角色。 40:管理员 30:开发者 |
-> DefaultAssignees | list<integer> | 默认评审者。 注:云效用户 ID 列表。 |
TestSetting | object | 自动化检查设置 |
-> Required | boolean | 要求合并前通过自动化执行检查。 |
-> SensitiveInfoDetection | object | 敏感信息检查 |
-> Enabled | boolean | 合并前是否需要通过敏感信息检查 |
-> CodingGuidelinesDetection | object | Java 代码规约扫描 |
-> Enabled | boolean | 合并前是否需要通过Java 代码规约扫描。 |