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.