@@ -2708,10 +2708,13 @@ class ProjectMergeRequestApprovalManager(GetWithoutIdMixin, UpdateMixin, RESTMan
27082708 _update_uses_post = True
27092709
27102710 @exc .on_http_error (exc .GitlabUpdateError )
2711- def set_approvers (self , approver_ids = None , approver_group_ids = None , ** kwargs ):
2711+ def set_approvers (
2712+ self , approvals_required , approver_ids = None , approver_group_ids = None , ** kwargs
2713+ ):
27122714 """Change MR-level allowed approvers and approver groups.
27132715
27142716 Args:
2717+ approvals_required (integer): The number of required approvals for this rule
27152718 approver_ids (list): User IDs that can approve MRs
27162719 approver_group_ids (list): Group IDs whose members can approve MRs
27172720
@@ -2722,8 +2725,16 @@ def set_approvers(self, approver_ids=None, approver_group_ids=None, **kwargs):
27222725 approver_ids = approver_ids or []
27232726 approver_group_ids = approver_group_ids or []
27242727
2725- path = "%s/%s/approvers" % (self ._parent .manager .path , self ._parent .get_id ())
2726- data = {"approver_ids" : approver_ids , "approver_group_ids" : approver_group_ids }
2728+ path = "%s/%s/approval_rules" % (
2729+ self ._parent .manager .path ,
2730+ self ._parent .get_id (),
2731+ )
2732+ data = {
2733+ "approvals_required" : approvals_required ,
2734+ "rule_type" : "regular" ,
2735+ "user_ids" : approver_ids ,
2736+ "group_ids" : approver_group_ids ,
2737+ }
27272738 self .gitlab .http_put (path , post_data = data , ** kwargs )
27282739
27292740
0 commit comments