Creating a Protected Branch
Function
This API is used to create a protected branch.
URI
PUT /v2/repositories/{repository_id}/branch/{branch_name}/protect
Parameter | Mandatory | Type | Description |
|---|---|---|---|
repository_id | Yes | Integer | Repository primary key ID. |
branch_name | Yes | String | Branch name. |
Request Parameters
Parameter | Mandatory | Type | Description |
|---|---|---|---|
X-Auth-Token | Yes | String | User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token. |
Parameter | Mandatory | Type | Description |
|---|---|---|---|
access_level | Yes | AddProtectAccessLevel object | Permission to create a protected branch. |
Parameter | Mandatory | Type | Description |
|---|---|---|---|
push_access_level | Yes | Integer | Commit permission. 0: No one is allowed to commit. 30: Developers and administrators can commit. 40: Administrators can commit. Enumerated values: |
merge_access_level | Yes | Integer | Merge permission. 0: No one can merge; 30: developers and administrators can merge; 40: administrators can merge. The merge permission must be greater than or equal to the commit permission. Enumerated values: |
Response Parameters
Status code: 200
Parameter | Type | Description |
|---|---|---|
error | Error object | Response error. |
result | AddProtectResponse object | Response result. |
status | String | Response status. |
Parameter | Type | Description |
|---|---|---|
name | String | Branch name. |
commit | CommitRepoV2 object | Commit message. |
protected | Boolean | Whether to protect it. |
developers_can_push | Boolean | Whether a developer can commit. |
developers_can_merge | Boolean | Whether a developer can merge. |
master_can_push | Boolean | Whether an administrator can commit. |
master_can_merge | Boolean | Whether an administrator can merge. |
no_one_can_push | Boolean | No one can commit. |
no_one_can_merge | Boolean | No one can merge. |
in_an_opened_merge_request | Boolean | Whether it is in an open MR. |
Parameter | Type | Description |
|---|---|---|
id | String | SHA ID of a commit. |
short_id | String | Short SHA ID of a commit. |
created_at | String | Creation time. |
title | String | Commit title. |
parent_ids | Array of strings | Parent commit ID. |
message | String | Commit message. |
author_name | String | Author. |
committer_name | String | Committer. |
committed_date | String | Commit time. |
Example Requests
PUT https://{endpoint}/v2/repositories/{repository_id}/branch/{branch_name}/protect
{
"access_level" : {
"push_access_level" : 40,
"merge_access_level" : 40
}
} Example Responses
Status code: 200
OK
{
"result" : {
"name" : "master",
"commit" : {
"id" : "3b68902cf0eb7de3d5c8757e4a990bc3fe0af349",
"short_id" : "3b68902c",
"title" : "Create a File",
"created_at" : "2022-03-08T03:14:39.000Z",
"parent_ids" : [ "08618c900a4048aae7e4cd88913d3d521eae02eb" ],
"message": " Create a file",
"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"
} Status Codes
Status Code | Description |
|---|---|
200 | OK |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.

