8000 Rename Issue.pull_request to Issue.pull_request_urls · helenst/github3.py@14d251f · GitHub
[go: up one dir, main page]

Skip to content

Commit 14d251f

Browse files
committed
Rename Issue.pull_request to Issue.pull_request_urls
Add Issue#pull_request method to retrieve associated PR
1 parent 0c9e648 commit 14d251f

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

github3/issues/issue.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def _update_attributes(self, issue):
7777
#: Issue number (e.g. #15)
7878
self.number = issue.get('number')
7979
#: Dictionary URLs for the pull request (if they exist)
80-
self.pull_request = issue.get('pull_request')
80+
self.pull_request_urls = issue.get('pull_request', {})
8181
m = match('https?://[\w\d\-\.\:]+/(\S+)/(\S+)/(?:issues|pull)/\d+',
8282
self.html_url)
8383
#: Returns ('owner', 'repository') this issue was filed on.
@@ -242,6 +242,18 @@ def labels(self, number=-1, etag=None):
242242
url = self._build_url('labels', base_url=self._api)
243243
return self._iter(int(number), url, Label, etag=etag)
244244

245+
def pull_request(self):
246+
"""Retrieve the pull request associated with this issue.
247+
248+
:returns: :class:`~github3.pulls.PullRequest`
249+
"""
250+
from .. import pulls
251+
json = None
252+
pull_request_url = self.pull_request_urls.get('url')
253+
if pull_request_url:
254+
json = self._json(self._get(pull_request_url), 200)
255+
return self._instance_or_null(pulls.PullRequest, json)
256+
245257
@requires_auth
246258
def remove_label(self, name):
247259
"""Removes label ``name`` from this issue.

0 commit comments

Comments
 (0)
0