我们每周标记提交一次,我想发布一份报告以查看标记名称及其内容,我使用 python 3.x 和 github3 尝试了以下内容
import github3
g = github3.login(token='qwerty')
r = g.repository(owner='me', repository='mine')
到目前为止一切顺利,现在我尝试四处寻找一种可以提取标签的方法,R 有一个名为标签的方法,此外,查看我发现 RepoTags 的文档。 此外,我在这里的堆栈上找到了这个问题。 底线我是一个新开发人员,我无法让它工作,这里有一些我更相关的尝试和错误,如果有人能为我指出正确的方向,最终结果是获取可用于该存储库的标签列表,然后迭代它们以获取每个标签的内容。
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"包含的方法时,它们都没有返回任何对我有用的内容。
我不完全确定您的最终目标是什么,但这里是如何迭代存储库上的标签。
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 请求,而不是尝试列出所有内容或要求用户处理分页。