Add method to get latest release of a repository (#609)

This commit is contained in:
Andrew Smith
2018-01-16 13:57:24 -08:00
committed by Jason White
parent 6cfe46b712
commit 45d18436fd
3 changed files with 48 additions and 0 deletions
+11
View File
@@ -2119,6 +2119,17 @@ class Repository(github.GithubObject.CompletableGithubObject):
)
return github.GitRelease.GitRelease(self._requester, headers, data, completed=True)
def get_latest_release(self):
"""
:calls: `GET /repos/:owner/:repo/releases/latest https://developer.github.com/v3/repos/releases/#get-the-latest-release
:rtype: :class:`github.GitRelease.GitRelease`
"""
headers, data = self._requester.requestJsonAndCheck(
"GET",
self.url + "/releases/latest"
)
return github.GitRelease.GitRelease(self._requester, headers, data, completed=True)
def get_teams(self):
"""
:calls: `GET /repos/:owner/:repo/teams <http://developer.github.com/v3/repos>`_
+5
View File
@@ -86,6 +86,11 @@ class Release(Framework.TestCase):
self.assertEqual(self.release.author._rawData['login'], "edhollandAL")
self.assertEqual(self.release.html_url, "https://github.com/edhollandAL/PyGithub/releases/tag/v3.0.0")
def testGetLatestRelease(self):
self.repo = self.g.get_user().get_repo('PyGithub')
latest_release = self.repo.get_latest_release()
self.assertEqual(latest_release.tag_name, "v1.25.2")
def testGetAsset(self):
"""
Test retrieving a release asset directly by its ID.
File diff suppressed because one or more lines are too long