Creating a Protected Branch in a Project
Function
This API is used to create a protected branch under a project.
Debugging
You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.
Authorization Information
Each account root user has all the permissions required to call all APIs, but IAM users must be assigned the following required identity policy-based permissions. For details about the required permissions, see Permissions Policies and Supported Actions.
|
Action |
Access Level |
Resource Type (*: required) |
Condition Key |
Alias |
Dependencies |
|---|---|---|---|---|---|
|
codeartsrepo::createProjectSetting |
Write |
- |
codeartsrepo:ProjectId |
- |
- |
URI
POST https://{hostURL}/v4/projects/{project_id}/protected-branches
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
project_id |
Yes |
String |
Definition You can obtain the unique project identifier, 32-character project UUID, by calling the API used to query the project list. Range String length: 32 characters. |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
X-Auth-Token |
Yes |
String |
Definition User token. Obtain one by calling the IAM API Obtaining a User Token. The value of X-Subject-Token in the response header is a token. Constraints N/A Range 1–100,000 characters. Default Value N/A |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
name |
Yes |
String |
Definition: Name of the protected branch Value range 1–1,000 characters. |
|
actions |
No |
Array of ProtectedActionBasicApiDto objects |
Definition: Event list |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
action |
No |
String |
Definition: Event name Value range: push: push; merge: merge 1–1,000 characters. Enumeration values:
|
|
enable |
No |
Boolean |
Definition: Enabled or not |
|
user_ids |
No |
Array of integers |
Definition: User ID list Constraints: N/A Value range: Integer Default value: N/A Value range: 1~2147483647 |
|
user_team_ids |
No |
Array of integers |
Definition: Member group ID list Constraints: N/A Value range: N/A Default value: N/A Value range: 1~2147483647 |
|
related_role_ids |
No |
Array of strings |
Definition: Associated role ID list Constraints: N/A Value range: N/A Default value: N/A |
|
addition_switchers |
No |
Array of ForceActionEnableDto objects |
Definition: Operation selection list |
Response Parameters
Status code: 200
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
Integer |
Definition: Unique ID of the protected branch Value range: 1~2147483647 |
|
name |
String |
Definition: Name of the protected branch Value range: 1–1,000 characters. |
|
actions |
Array of ProjectProtectedActionResultApiDto objects |
Definition: Event list |
|
Parameter |
Type |
Description |
|---|---|---|
|
action |
String |
Definition: Event name Value range: 1–1,000 characters. |
|
enable |
Boolean |
Definition: Enabled or not |
|
users |
Array of UserBasicDto objects |
Definition: User list |
|
user_teams |
Array of UserTeamBasicDto objects |
Definition: Member group list |
|
roles |
Array of RoleBasicDto objects |
Definition: Role list |
|
addition_switchers |
Array of ForceActionEnableDto objects |
Definition: Operation selection list |
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
Integer |
Definition User ID. Value range: 1~2147483647 |
|
name |
String |
Definition Username. |
|
username |
String |
Definition Username. |
|
state |
String |
Definition: User status Value range:
Enumeration values:
|
|
service_license_status |
Integer |
Service-level permission status. 0: disabled; 1: enabled |
|
avatar_url |
String |
User profile picture URL |
|
avatar_path |
String |
User profile picture path |
|
|
String |
User email |
|
name_cn |
String |
Username (CN) |
|
web_url |
String |
User homepage |
|
nick_name |
String |
User alias |
|
tenant_name |
String |
Tenant name |
|
error_message |
String |
Definition When some query APIs detect that the user permission in the transfer parameter is insufficient or the user does not exist, the user is returned but the field is not empty for information. |
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
Integer |
Definition: User group ID. Value range: 1–2147483647 |
|
name |
String |
Definition: User group name. Value range: N/A. |
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
Integer |
Definition: Unique role ID Value range: 1~2147483647 |
|
name |
String |
Definition: Role name Value range: 1–1,000 characters. |
|
related_role_id |
String |
Definition: Role ID Value range: 1–1,000 characters. |
|
chinese_name |
String |
Definition: Role name (CN) Value range: 1–1,000 characters. |
Example Requests
Create a protected branch in a project
POST https://{endpoint}/v4/projects/3132f98fb2c44430ba68f356af3a8e0d/protected-branche
{
"name" : "212",
"actions" : [ {
"action" : "push",
"enable" : true,
"user_ids" : [ 9124 ],
"user_team_ids" : [ 247 ],
"related_role_ids" : [ "6115a3ddd9044e288c558d1ae827a732", "8425999e92974f2980b76b08ad423aa1", "f2464b129b064a6a988734a73c3f366b", "24f72d0b611746c3a43da596ea5065f5" ]
}, {
"action" : "merge",
"enable" : true,
"user_ids" : [ 9124 ],
"user_team_ids" : [ 247 ],
"related_role_ids" : [ "Administrator", "8425999e92974f2980b76b08ad423aa1", "f2464b129b064a6a988734a73c3f366b", "24f72d0b611746c3a43da596ea5065f5" ]
} ]
}
Example Responses
Status code: 200
Protected branch details in a project
{
"id" : 260,
"name" : "212",
"actions" : [ {
"action" : "push",
"enable" : true,
"users" : [ {
"id" : 9087,
"name" : "test11",
"username" : "04ef19ad5eaf4b8c9cf2451d3536202d",
"state" : "blocked",
"avatar_url" : null,
"avatar_path" : null,
"email" : null,
"name_cn" : null,
"web_url" : null,
"nick_name" : "",
"tenant_name" : "devcloud_codehub_l00314597_01",
"error_message" : null
} ],
"user_teams" : [ {
"id" : 312,
"name" : "team1"
} ],
"roles" : [ {
"id" : 35471438,
"name" : "Administrator",
"related_role_id" : "e134545ad4724ea0b77a00a0fec5cd4c",
"chinese_name" : "Administrator"
} ],
"addition_switchers" : [ {
"name" : "allowed_force_push",
"enable" : false
} ]
}, {
"action" : "merge",
"enable" : true,
"users" : [ ],
"user_teams" : [ ],
"roles" : [ ],
"addition_switchers" : null
} ]
}
Status Codes
|
Status Code |
Description |
|---|---|
|
200 |
Protected branch details in a project |
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.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot