1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
##################
Protected branches
##################
You can define a list of protected branch names on a repository. Names can use
wildcards (``*``).
References
----------
* v4 API:
+ :class:`gitlab.v4.objects.ProjectProtectedBranch`
+ :class:`gitlab.v4.objects.ProjectProtectedBranchManager`
+ :attr:`gitlab.v4.objects.Project.protectedbranches`
* GitLab API: https://docs.gitlab.com/ce/api/protected_branches.html#protected-branches-api
Examples
--------
Get the list of protected branches for a project::
p_branches = project.protectedbranches.list()
Get a single protected branch::
p_branch = project.protectedbranches.get('main')
Create a protected branch::
p_branch = project.protectedbranches.create({
'name': '*-stable',
'merge_access_level': gitlab.const.AccessLevel.DEVELOPER,
'push_access_level': gitlab.const.AccessLevel.MAINTAINER
})
Create a protected branch with more granular access control::
p_branch = project.protectedbranches.create({
'name': '*-stable',
'allowed_to_push': [{"user_id": 99}, {"user_id": 98}],
'allowed_to_merge': [{"group_id": 653}],
'allowed_to_unprotect': [{"access_level": gitlab.const.AccessLevel.MAINTAINER}]
})
Delete a protected branch::
project.protectedbranches.delete('*-stable')
# or
p_branch.delete()
|