2
2
Merge request approvals settings
3
3
################################
4
4
5
- Merge request approvals can be defined at the project level or at the merge
6
- request level.
5
+ Merge request approvals can be defined at the group level, or the project level or at the merge request level.
6
+
7
+ Group approval rules
8
+ ====================
9
+
10
+ References
11
+ ----------
12
+
13
+ * v4 API:
14
+
15
+ + :class: `gitlab.v4.objects.GroupApprovalRule `
16
+ + :class: `gitlab.v4.objects.GroupApprovalRuleManager `
17
+
18
+ * GitLab API: https://docs.gitlab.com/ee/api/merge_request_approvals.html
19
+
20
+ Examples
21
+ --------
22
+
23
+ List group-level MR approval rules::
24
+
25
+ group_approval_rules = group.approval_rules.list()
26
+
27
+ Change group-level MR approval rule::
28
+
29
+ g_approval_rule = group.approval_rules.get(123)
30
+ g_approval_rule.user_ids = [234]
31
+ g_approval_rule.save()
32
+
33
+ Create new group-level MR approval rule::
34
+
35
+ group.approval_rules.create({
36
+ "name": "my new approval rule",
37
+ "approvals_required": 2,
38
+ "rule_type": "regular",
39
+ "user_ids": [105],
40
+ "group_ids": [653, 654],
41
+ })
42
+
43
+
44
+ Project approval rules
45
+ ======================
7
46
8
47
References
9
48
----------
@@ -15,15 +54,6 @@ References
15
54
+ :class: `gitlab.v4.objects.ProjectApprovalRule `
16
55
+ :class: `gitlab.v4.objects.ProjectApprovalRuleManager `
17
56
+ :attr: `gitlab.v4.objects.Project.approvals `
18
- + :class: `gitlab.v4.objects.ProjectMergeRequestApproval `
19
- + :class: `gitlab.v4.objects.ProjectMergeRequestApprovalManager `
20
- + :attr: `gitlab.v4.objects.ProjectMergeRequest.approvals `
21
- + :class: `gitlab.v4.objects.ProjectMergeRequestApprovalRule `
22
- + :class: `gitlab.v4.objects.ProjectMergeRequestApprovalRuleManager `
23
- + :attr: `gitlab.v4.objects.ProjectMergeRequest.approval_rules `
24
- + :class: `gitlab.v4.objects.ProjectMergeRequestApprovalState `
25
- + :class: `gitlab.v4.objects.ProjectMergeRequestApprovalStateManager `
26
- + :attr: `gitlab.v4.objects.ProjectMergeRequest.approval_state `
27
57
28
58
* GitLab API: https://docs.gitlab.com/ee/api/merge_request_approvals.html
29
59
@@ -43,7 +73,41 @@ Delete project-level MR approval rule::
43
73
44
74
p_approvalrule.delete()
45
75
46
- Get project-level or MR-level MR approvals settings::
76
+ Get project-level MR approvals settings::
77
+
78
+ p_mras = project.approvals.get()
79
+
80
+ Change project-level MR approvals settings::
81
+
82
+ p_mras.approvals_before_merge = 2
83
+ p_mras.save()
84
+
85
+
86
+ Merge request approval rules
87
+ ============================
88
+
89
+ References
90
+ ----------
91
+
92
+ * v4 API:
93
+
94
+ + :class: `gitlab.v4.objects.ProjectMergeRequestApproval `
95
+ + :class: `gitlab.v4.objects.ProjectMergeRequestApprovalManager `
96
+ + :attr: `gitlab.v4.objects.ProjectMergeRequest.approvals `
97
+ + :class: `gitlab.v4.objects.ProjectMergeRequestApprovalRule `
98
+ + :class: `gitlab.v4.objects.ProjectMergeRequestApprovalRuleManager `
99
+ + :attr: `gitlab.v4.objects.ProjectMergeRequest.approval_rules `
100
+ + :class: `gitlab.v4.objects.ProjectMergeRequestApprovalState `
101
+ + :class: `gitlab.v4.objects.ProjectMergeRequestApprovalStateManager `
102
+ + :attr: `gitlab.v4.objects.ProjectMergeRequest.approval_state `
103
+
104
+ * GitLab API: https://docs.gitlab.com/ee/api/merge_request_approvals.html
105
+
106
+ Examples
107
+ --------
108
+
109
+
110
+ Get MR-level MR approvals settings::
47
111
48
112
p_mras = project.approvals.get()
49
113
@@ -53,10 +117,7 @@ Get MR-level approval state::
53
117
54
118
mr_approval_state = mr.approval_state.get()
55
119
56
- Change project-level or MR-level MR approvals settings::
57
-
58
- p_mras.approvals_before_merge = 2
59
- p_mras.save()
120
+ Change MR-level MR approvals settings::
60
121
61
122
mr.approvals.set_approvers(approvals_required=1)
62
123
# or
0 commit comments