summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects.py
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain@pocentek.net>2018-07-15 18:03:33 +0200
committerGauvain Pocentek <gauvain@pocentek.net>2018-07-15 18:03:33 +0200
commit0379efaa641d22ccdb530214c56ec72891f73c4a (patch)
tree747af85e77f0a2655f04f594c4f00294d147c501 /gitlab/v4/objects.py
parent34619042e4839cf1f3031b1c3e6f791104f02dfe (diff)
downloadgitlab-0379efaa641d22ccdb530214c56ec72891f73c4a.tar.gz
Support group and global MR listing
Closes #553
Diffstat (limited to 'gitlab/v4/objects.py')
-rw-r--r--gitlab/v4/objects.py29
1 files changed, 27 insertions, 2 deletions
diff --git a/gitlab/v4/objects.py b/gitlab/v4/objects.py
index c266724..7f50440 100644
--- a/gitlab/v4/objects.py
+++ b/gitlab/v4/objects.py
@@ -710,8 +710,16 @@ class GroupMergeRequest(RESTObject):
pass
-class GroupMergeRequestManager(RESTManager):
- pass
+class GroupMergeRequestManager(ListMixin, RESTManager):
+ _path = '/groups/%(group_id)s/merge_requests'
+ _obj_cls = GroupMergeRequest
+ _from_parent_attrs = {'group_id': 'id'}
+ _list_filters = ('state', 'order_by', 'sort', 'milestone', 'view',
+ 'labels', 'created_after', 'created_before',
+ 'updated_after', 'updated_before', 'scope', 'author_id',
+ 'assignee_id', 'my_reaction_emoji', 'source_branch',
+ 'target_branch', 'search')
+ _types = {'labels': types.ListAttribute}
class GroupMilestone(SaveMixin, ObjectDeleteMixin, RESTObject):
@@ -842,6 +850,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
('epics', 'GroupEpicManager'),
('issues', 'GroupIssueManager'),
('members', 'GroupMemberManager'),
+ ('mergerequests', 'GroupMergeRequestManager'),
('milestones', 'GroupMilestoneManager'),
('notificationsettings', 'GroupNotificationSettingsManager'),
('projects', 'GroupProjectManager'),
@@ -1040,6 +1049,22 @@ class LicenseManager(RetrieveMixin, RESTManager):
_optional_get_attrs = ('project', 'fullname')
+class MergeRequest(RESTObject):
+ pass
+
+
+class MergeRequestManager(ListMixin, RESTManager):
+ _path = '/merge_requests'
+ _obj_cls = MergeRequest
+ _from_parent_attrs = {'group_id': 'id'}
+ _list_filters = ('state', 'order_by', 'sort', 'milestone', 'view',
+ 'labels', 'created_after', 'created_before',
+ 'updated_after', 'updated_before', 'scope', 'author_id',
+ 'assignee_id', 'my_reaction_emoji', 'source_branch',
+ 'target_branch', 'search')
+ _types = {'labels': types.ListAttribute}
+
+
class Snippet(UserAgentDetailMixin, SaveMixin, ObjectDeleteMixin, RESTObject):
_short_print_attr = 'title'