创建保护分支

该接口用于创建保护分支

请求方式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

评审模式。可选:

  • general:普通
  • codeowner:CodeOwner模式

-> 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

评审模式

  • general:普通
  • codeowner:CodeOwner模式

-> 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 代码规约扫描。