@@ -18,6 +18,9 @@ References
1818 +:class: `gitlab.v4.objects.ProjectMergeRequestApproval `
1919 +:class: `gitlab.v4.objects.ProjectMergeRequestApprovalManager `
2020 +: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 `
2124
2225* GitLab API: https://docs.gitlab.com/ee/api/merge_request_approvals.html
2326
@@ -50,10 +53,35 @@ Change project-level or MR-level MR approvals settings::
5053
5154 mr_mras.set_approvers(approvals_required = 1)
5255
53- Change project-levelor MR-level MR allowed approvers::
56+ Change project-level MR allowed approvers::
5457
5558project.approvals.set_approvers(approver_ids=[105],
56- approver_group_ids=[653, 654])
59+ approver_group_ids=[653, 654])
60+
61+ Create a new MR-level approval rule or Change existing MR-level approval rule::
5762
5863mr.approvals.set_approvers(approvals_required = 1, approver_ids=[105],
59- approver_group_ids=[653, 654])
64+ approver_group_ids=[653, 654],
65+ approval_rule_name="my MR custom approval rule")
66+
67+ List MR-level MR approval rules::
68+
69+ mr.approval_rules.list()
70+
71+ Change MR-level MR approval rule::
72+
73+ mr_approvalrule.user_ids = [105]
74+ mr_approvalrule.approvals_required = 2
75+ mr_approvalrule.group_ids = [653, 654]
76+ mr_approvalrule.save()
77+
78+ Create a MR-level MR approval rule::
79+
80+ data = {
81+ "name": "my MR custom approval rule",
82+ "approvals_required": 2,
83+ "rule_type": "regular",
84+ "user_ids": [105],
85+ "group_ids": [653, 654],
86+ }
87+ mr.approval_rules.create(data=data)