Skip to content

Commit e4e6d7d

Browse files
committed
feat(api): add support for creating/editing reviewers in project merge requests
1 parent 1995361 commit e4e6d7d

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
@@ -112,6 +112,22 @@ class ProjectMergeRequest(
112112
):
113113
_id_attr = "iid"
114114

115+
@property
116+
def reviewer_ids(self):
117+
return [reviewer["id"] for reviewer in self.reviewers]
118+
119+
@reviewer_ids.setter
120+
def reviewer_ids(self, new_reviewer_ids):
121+
new_reviewers = [{"id": id} for id in set(new_reviewer_ids)]
122+
new_reviewers.extend(
123+
[
124+
reviewer
125+
for reviewer in self.reviewers
126+
if reviewer["id"] in new_reviewer_ids
127+
]
128+
)
129+
self.reviewers = new_reviewers
130+
115131
_managers = (
116132
("approvals", "ProjectMergeRequestApprovalManager"),
117133
("approval_rules", "ProjectMergeRequestApprovalRuleManager"),
@@ -346,6 +362,7 @@ class ProjectMergeRequestManager(CRUDMixin, RESTManager):
346362
"remove_source_branch",
347363
"allow_maintainer_to_push",
348364
"squash",
365+
"reviewer_ids",
349366
),
350367
)
351368
_update_attrs = (
@@ -362,6 +379,7 @@ class ProjectMergeRequestManager(CRUDMixin, RESTManager):
362379
"discussion_locked",
363380
"allow_maintainer_to_push",
364381
"squash",
382+
"reviewer_ids",
365383
),
366384
)
367385
_list_filters = (

0 commit comments

Comments
 (0)