From b5e0d2069ce8a3df86e74657e51cc614203d35c8 Mon Sep 17 00:00:00 2001 From: Martin Date: Mar 25 2017 18:19:18 +0000 Subject: Add support for changing milestones Adds method 'change_issue_milestone' that allows to update or remove milestone of an issue Counterpart of https://pagure.io/pagure/pull-request/2124 --- diff --git a/libpagure/libpagure.py b/libpagure/libpagure.py index 4c91d64..87373c1 100644 --- a/libpagure/libpagure.py +++ b/libpagure/libpagure.py @@ -439,6 +439,29 @@ class Pagure(object): if not return_value['message'].startswith("Successfully"): raise Exception(return_value['message']) + def change_issue_milestone(self, issue_id, milestone): + """ + Change the milestone of an issue. + :param issue_id: the id of the issue + :param milestone: the new milestone for the issue + (set None to remove milestone) + :return: + """ + if self.username is None: + request_url = "{}/api/0/{}/issue/{}/milestone".format( + self.instance, self.repo, issue_id) + else: + request_url = "{}/api/0/fork/{}/{}/issue/{}/milestone".format( + self.instance, self.username, self.repo, issue_id) + + payload = {} if milestone is None else {'milestone': milestone} + + return_value = self.__call_api(request_url, + method='POST', data=payload) + + if not return_value['message'].startswith("Successfully"): + raise Exception(return_value['message']) + def comment_issue(self, issue_id, body): """ Comment to an issue.