Skip to content

Update a protected branch

PATCH
/api/v4/groups/{id}/protected_branches/{name}

Updates a protected branch for a specified group.

id
required
string

The ID or URL-encoded path of a group

name
required
string

The name of the branch

Example
main
Media type application/json
object
allow_force_push

Allow force push for all users with push access.

boolean
nullable
unprotect_access_level

Access levels allowed to unprotect (defaults: 40, maintainer access level)

integer
nullable
Allowed values: 30 40 60
allowed_to_push

Array of users, groups, deploy keys, or access levels allowed to push to protected branches

Array<object>
nullable
object
allowed_to_merge

Array of users, groups, or access levels allowed to merge protected branches

Array<object>
nullable
object
allowed_to_unprotect

Array of users, groups, or access levels allowed to unprotect protected branches

Array<object>
nullable
object
code_owner_approval_required

Prevent pushes to this branch if it matches an item in CODEOWNERS

boolean
nullable

OK

Media type application/json
object
id
integer format: int64
name
string
push_access_levels
Array<object>
object
id
integer format: int64
access_level
integer
access_level_description
string
deploy_key_id
integer format: int64
user_id
integer format: int64
group_id
integer format: int64
member_role_id
integer format: int64
member_role_name
string
merge_access_levels
Array<object>
object
id
integer format: int64
access_level
integer
access_level_description
string
deploy_key_id
integer format: int64
user_id
integer format: int64
group_id
integer format: int64
member_role_id
integer format: int64
member_role_name
string
allow_force_push
boolean
unprotect_access_levels
Array<object>
object
id
integer format: int64
access_level
integer
access_level_description
string
deploy_key_id
integer format: int64
user_id
integer format: int64
group_id
integer format: int64
member_role_id
integer format: int64
member_role_name
string
code_owner_approval_required
boolean
Example
{
"id": 1,
"name": "main",
"push_access_levels": [
{
"id": 1,
"access_level": 40,
"access_level_description": "Maintainers",
"deploy_key_id": 1,
"user_id": 1,
"group_id": 1,
"member_role_id": 42,
"member_role_name": "Lead Developer"
}
],
"merge_access_levels": [
{
"id": 1,
"access_level": 40,
"access_level_description": "Maintainers",
"deploy_key_id": 1,
"user_id": 1,
"group_id": 1,
"member_role_id": 42,
"member_role_name": "Lead Developer"
}
],
"unprotect_access_levels": [
{
"id": 1,
"access_level": 40,
"access_level_description": "Maintainers",
"deploy_key_id": 1,
"user_id": 1,
"group_id": 1,
"member_role_id": 42,
"member_role_name": "Lead Developer"
}
]
}

Bad Request

401 Unauthorized

404 ProtectedBranch Not Found

Push access levels access level has already been taken