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.