diff --git a/docs/gl_objects/milestones.py b/docs/gl_objects/milestones.py index 27be57310..83065fcec 100644 --- a/docs/gl_objects/milestones.py +++ b/docs/gl_objects/milestones.py @@ -30,13 +30,18 @@ # state # close a milestone milestone.state_event = 'close' -milestone.save +milestone.save() # activate a milestone milestone.state_event = 'activate' -m.save() +milestone.save() # end state # issues issues = milestone.issues() # end issues + +# merge_requests +merge_requests = milestone.merge_requests() +# end merge_requests + diff --git a/docs/gl_objects/milestones.rst b/docs/gl_objects/milestones.rst index db8327544..47e585ae3 100644 --- a/docs/gl_objects/milestones.rst +++ b/docs/gl_objects/milestones.rst @@ -53,3 +53,9 @@ List the issues related to a milestone: .. literalinclude:: milestones.py :start-after: # issues :end-before: # end issues + +List the merge requests related to a milestone: + +.. literalinclude:: milestones.py + :start-after: # merge_requests + :end-before: # end merge_requests \ No newline at end of file diff --git a/gitlab/objects.py b/gitlab/objects.py index 4a84a716d..9abb84eed 100644 --- a/gitlab/objects.py +++ b/gitlab/objects.py @@ -1858,6 +1858,22 @@ def issues(self, **kwargs): {'project_id': self.project_id}, **kwargs) + def merge_requests(self, **kwargs): + """List the merge requests related to this milestone + + Returns: + list (ProjectMergeRequest): List of merge requests + + Raises: + GitlabConnectionError: If the server cannot be reached. + GitlabListError: If the server fails to perform the request. + """ + url = ('/projects/%s/milestones/%s/merge_requests' % + (self.project_id, self.id)) + return self.gitlab._raw_list(url, ProjectMergeRequest, + {'project_id': self.project_id}, + **kwargs) + class ProjectMilestoneManager(BaseManager): obj_cls = ProjectMilestone