Skip to content

Commit 676d1f6

Browse files
spyoungtechJohnVillalovos
authored andcommitted
feat(api): add support for creating/editing reviewers in project merge requests
1 parent fbbc0d4 commit 676d1f6

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

gitlab/v4/objects/merge_requests.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,22 @@ class ProjectMergeRequest(
138138
):
139139
_id_attr = "iid"
140140

141+
@property
142+
def reviewer_ids(self):
143+
return [reviewer["id"] for reviewer in self.reviewers]
144+
145+
@reviewer_ids.setter
146+
def reviewer_ids(self, new_reviewer_ids):
147+
new_reviewers = [{"id": id} for id in set(new_reviewer_ids)]
148+
new_reviewers.extend(
149+
[
150+
reviewer
151+
for reviewer in self.reviewers
152+
if reviewer["id"] in new_reviewer_ids
153+
]
154+
)
155+
self.reviewers = new_reviewers
156+
141157
_managers = (
142158
("approvals", "ProjectMergeRequestApprovalManager"),
143159
("approval_rules", "ProjectMergeRequestApprovalRuleManager"),
@@ -373,6 +389,7 @@ class ProjectMergeRequestManager(CRUDMixin, RESTManager):
373389
"remove_source_branch",
374390
"allow_maintainer_to_push",
375391
"squash",
392+
"reviewer_ids",
376393
),
377394
)
378395
_update_attrs = RequiredOptional(
@@ -388,6 +405,7 @@ class ProjectMergeRequestManager(CRUDMixin, RESTManager):
388405
"discussion_locked",
389406
"allow_maintainer_to_push",
390407
"squash",
408+
"reviewer_ids",
391409
),
392410
)
393411
_list_filters = (

0 commit comments

Comments
 (0)