我们每周标记提交,我想发布报告以查看标记名称及其内容,我尝试使用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'包含的方法时,没有一个返回任何对我有用的内容。
答案 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请求,而不是尝试列出所有内容或要求用户处理分页。
我希望这会有所帮助