summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gitlab/v4/objects.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/gitlab/v4/objects.py b/gitlab/v4/objects.py
index 1750a36..8dca355 100644
--- a/gitlab/v4/objects.py
+++ b/gitlab/v4/objects.py
@@ -2685,10 +2685,11 @@ class ProjectMergeRequestApprovalManager(GetWithoutIdMixin, UpdateMixin, RESTMan
_update_uses_post = True
@exc.on_http_error(exc.GitlabUpdateError)
- def set_approvers(self, approver_ids=None, approver_group_ids=None, **kwargs):
+ def set_approvers(self, approvals_required, approver_ids=None, approver_group_ids=None, **kwargs):
"""Change MR-level allowed approvers and approver groups.
Args:
+ approvals_required (integer): The number of required approvals for this rule
approver_ids (list): User IDs that can approve MRs
approver_group_ids (list): Group IDs whose members can approve MRs
@@ -2699,8 +2700,12 @@ class ProjectMergeRequestApprovalManager(GetWithoutIdMixin, UpdateMixin, RESTMan
approver_ids = approver_ids or []
approver_group_ids = approver_group_ids or []
- path = "%s/%s/approvers" % (self._parent.manager.path, self._parent.get_id())
- data = {"approver_ids": approver_ids, "approver_group_ids": approver_group_ids}
+ path = "%s/%s/approval_rules" % (self._parent.manager.path, self._parent.get_id())
+ data = {
+ "approvals_required": approvals_required,
+ "rule_type": "regular",
+ "user_ids": approver_ids,
+ "group_ids": approver_group_ids}
self.gitlab.http_put(path, post_data=data, **kwargs)