blob: 3498aa5784beaf8bb5dab427a103657099ed75c9 (
plain)
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('master')
Create a protected branch::
p_branch = project.protectedbranches.create({
'name': '*-stable',
'merge_access_level': gitlab.DEVELOPER_ACCESS,
'push_access_level': gitlab.MAINTAINER_ACCESS
})
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.MAINTAINER_ACCESS}]
})
Delete a protected branch::
project.protectedbranches.delete('*-stable')
# or
p_branch.delete()
|