File tree Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -1653,6 +1653,17 @@ def release(self, id):
1653
1653
json = self ._json (self ._get (url ), 200 )
1654
1654
return self ._instance_or_null (Release , json )
1655
1655
1656
+ def release_by_tag_name (self , tag_name ):
1657
+ """Get a relase by tag name
1658
+
1659
+ :param str tag_name: (required) name of tag
1660
+ :returns: :class:`Release <github3.repos.release.Release>`
1661
+ """
1662
+ url = self ._build_url ('releases' , 'tags' , tag_name ,
1663
+ base_url = self ._api )
1664
+ json = self ._json (self ._get (url ), 200 )
1665
+ return self ._instance_or_null (Release , json )
1666
+
1656
1667
def releases (self , number = - 1 , etag = None ):
1657
1668
r"""Iterate over releases for this repository.
1658
1669
Original file line number Diff line number Diff line change @@ -491,6 +491,14 @@ def test_ref(self):
491
491
assert isinstance (self .repo .ref ('fakesha' ), github3 .git .Reference )
492
492
self .mock_assertions ()
493
493
494
+ def test_release_by_tag_name (self ):
495
+ self .response ('release' , 200 )
496
+ self .get (self .api + 'releases/tags/v0.7.1' )
497
+
498
+ assert isinstance (self .repo .release_by_tag_name ('v0.7.1' ),
499
+ github3 .repos .release .Release )
500
+ self .mock_assertions ()
501
+
494
502
def test_remove_collaborator (self ):
495
503
self .response ('' , 204 )
496
504
self .delete (self .api + 'collaborators/login' )
You can’t perform that action at this time.
0 commit comments