Show an error if !ghissue or !ghpull doesn't find the specified issue/pr

(github.py)
This commit is contained in:
jesopo 2019-01-10 13:18:58 +00:00
parent 86810290f7
commit d26a945c49

View file

@ -60,13 +60,15 @@ class Module(ModuleManager.BaseModule):
page = utils.http.request( page = utils.http.request(
API_ISSUE_URL % (username, repository, number), API_ISSUE_URL % (username, repository, number),
json=True) json=True)
if page: if page and page.code == 200:
labels = [label["name"] for label in page.data["labels"]] labels = [label["name"] for label in page.data["labels"]]
url = self._short_url(page.data["html_url"]) url = self._short_url(page.data["html_url"])
event["stdout"].write("(%s/%s issue#%s) %s [%s] %s" % ( event["stdout"].write("(%s/%s issue#%s) %s [%s] %s" % (
username, repository, number, page.data["title"], username, repository, number, page.data["title"],
", ".join(labels), url)) ", ".join(labels), url))
else:
event["stderr"].write("Could not find issue")
@utils.hook("received.command.ghpull", min_args=1) @utils.hook("received.command.ghpull", min_args=1)
def github_pull(self, event): def github_pull(self, event):
@ -76,7 +78,7 @@ class Module(ModuleManager.BaseModule):
page = utils.http.request( page = utils.http.request(
API_PULL_URL % (username, repository, number), API_PULL_URL % (username, repository, number),
json=True) json=True)
if page: if page and page.code == 200:
repo_from = page.data["head"]["label"] repo_from = page.data["head"]["label"]
repo_to = page.data["base"]["label"] repo_to = page.data["base"]["label"]
added = self._added(page.data["additions"]) added = self._added(page.data["additions"])
@ -87,6 +89,8 @@ class Module(ModuleManager.BaseModule):
"(%s/%s pull#%s) [%s/%s] %s%s - %s %s" % ( "(%s/%s pull#%s) [%s/%s] %s%s - %s %s" % (
username, repository, number, added, removed, username, repository, number, added, removed,
repo_from, repo_to, page.data["title"], url)) repo_from, repo_to, page.data["title"], url))
else:
event["stderr"].write("Could not find pull request")
@utils.hook("api.post.github") @utils.hook("api.post.github")
def webhook(self, event): def webhook(self, event):