使用github3列出标签和标签内容

时间:2017-07-05 12:30:23

标签: python-3.x github-api github3.py

我们每周标记提交,我想发布报告以查看标记名称及其内容,我尝试使用python 3.x和github3

进行以下操作
import github3
g = github3.login(token='qwerty')
r = g.repository(owner='me', repository='mine')

到目前为止一直很好,现在我试着寻找一种方法来提取标签,r有一个叫做标签的方法,也看着我找到的RepoTags文档。 此外,我在Stack here上发现了这个问题。 底线我是一个新的开发人员,我无法让它工作,这里有一些我更相关的尝试和错误,如果有人能指出我正确的方向,最终的结果是得到一个标签列表是可用于该回购,然后通过它们获取每个标记的内容。

t1 = tags(1) 
t1.as_json

返回<bound method GitHubCore.as_json of <GitHubIterator [1, /repos/owner/repository_name/tags]>>

我尝试tag = github3.repos.tag.RepoTag没有返回任何内容,当我尝试查看对象'tag'包含的方法时,没有一个返回任何对我有用的内容。

1 个答案:

答案 0 :(得分:1)

我不完全确定你的最终目标是什么,但是这里是如何迭代存储库上的标签。

import github3


gh = github3.login(token='myAwesomeToken')
repository = gh.repository(owner='owner',
                           repository='myAwesomeProjectWithLotsofTags')
for tag in repository.tags():
    assert isinstance(tag, github3.repos.tag.RepoTag)
    print('{} @ {}'.format(tag.name, tag.commit))

对于将来的上下文,github3.py中返回列表的大多数(如果不是全部)方法实际上返回一个生成您期望的对象的迭代器。实际上,您必须迭代它们(如文档中所述)以检索项目。这允许用户保存API请求,而不是尝试列出所有内容或要求用户处理分页。

我希望这会有所帮助