Unverified Commit ad1c0dda authored by Max Wittig's avatar Max Wittig 🌍 Committed by GitHub
Browse files

Merge pull request #803 from python-gitlab/feat/related_mr

feat: add support for issue.related_merge_requests
parents f539c36d 90a36315
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -180,6 +180,10 @@ Get the list of merge requests that will close an issue when merged::

    mrs = issue.closed_by()

Get the merge requests related to an issue::

    mrs = issue.related_merge_requests()

Get the list of participants::

    users = issue.participants()
+18 −0
Original line number Diff line number Diff line
@@ -2186,6 +2186,24 @@ class ProjectIssue(
        server_data = self.manager.gitlab.http_post(path, post_data=data, **kwargs)
        self._update_attrs(server_data)

    @cli.register_custom_action("ProjectIssue")
    @exc.on_http_error(exc.GitlabGetError)
    def related_merge_requests(self, **kwargs):
        """List merge requests related to the issue.

        Args:
            **kwargs: Extra options to send to the server (e.g. sudo)

        Raises:
            GitlabAuthenticationError: If authentication is not correct
            GitlabGetErrot: If the merge requests could not be retrieved

        Returns:
            list: The list of merge requests.
        """
        path = "%s/%s/related_merge_requests" % (self.manager.path, self.get_id())
        return self.manager.gitlab.http_get(path, **kwargs)

    @cli.register_custom_action("ProjectIssue")
    @exc.on_http_error(exc.GitlabGetError)
    def closed_by(self, **kwargs):
+2 −0
Original line number Diff line number Diff line
@@ -566,6 +566,8 @@ assert isinstance(issue1.user_agent_detail(), dict)

assert issue1.user_agent_detail()["user_agent"]
assert issue1.participants()
assert type(issue1.closed_by()) == list
assert type(issue1.related_merge_requests()) == list

# issues labels and events
label2 = admin_project.labels.create({"name": "label2", "color": "#aabbcc"})