diff options
author | Spencer Young <spencer.young@spyoung.com> | 2021-04-13 18:16:32 -0700 |
---|---|---|
committer | John L. Villalovos <john@sodarock.com> | 2021-05-31 14:16:42 -0700 |
commit | 676d1f6565617a28ee84eae20e945f23aaf3d86f (patch) | |
tree | f930a80791114b1d0c9743f135ae1ee469a68967 /gitlab | |
parent | fbbc0d400015d7366952a66e4401215adff709f0 (diff) | |
download | gitlab-676d1f6565617a28ee84eae20e945f23aaf3d86f.tar.gz |
feat(api): add support for creating/editing reviewers in project merge requests
Diffstat (limited to 'gitlab')
-rw-r--r-- | gitlab/v4/objects/merge_requests.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gitlab/v4/objects/merge_requests.py b/gitlab/v4/objects/merge_requests.py index dd118d0..4ca320b 100644 --- a/gitlab/v4/objects/merge_requests.py +++ b/gitlab/v4/objects/merge_requests.py @@ -138,6 +138,22 @@ class ProjectMergeRequest( ): _id_attr = "iid" + @property + def reviewer_ids(self): + return [reviewer["id"] for reviewer in self.reviewers] + + @reviewer_ids.setter + def reviewer_ids(self, new_reviewer_ids): + new_reviewers = [{"id": id} for id in set(new_reviewer_ids)] + new_reviewers.extend( + [ + reviewer + for reviewer in self.reviewers + if reviewer["id"] in new_reviewer_ids + ] + ) + self.reviewers = new_reviewers + _managers = ( ("approvals", "ProjectMergeRequestApprovalManager"), ("approval_rules", "ProjectMergeRequestApprovalRuleManager"), @@ -373,6 +389,7 @@ class ProjectMergeRequestManager(CRUDMixin, RESTManager): "remove_source_branch", "allow_maintainer_to_push", "squash", + "reviewer_ids", ), ) _update_attrs = RequiredOptional( @@ -388,6 +405,7 @@ class ProjectMergeRequestManager(CRUDMixin, RESTManager): "discussion_locked", "allow_maintainer_to_push", "squash", + "reviewer_ids", ), ) _list_filters = ( |