我要求我必须在我的GitHub存储库中提取问题列表并制作数据图表。但是,我一直坚持从我的GitHub存储库中提取问题列表。
我试图理解GIT API页面,但我真的不确定从哪里开始工作。
如果有人以前做过这样的事情,请详细说明。
答案 0 :(得分:2)
您可以使用python script unbracketed/export_repo_issues_to_csv.py
查看导出项目问题的GitHub Issue API作为csv文件(例如Excel):
您将看到使用的API查询:
REPO = '' # format is username/repo
ISSUES_FOR_REPO_URL = 'https://api.github.com/repos/%s/issues' % REPO
r = requests.get(ISSUES_FOR_REPO_URL, auth=AUTH)
答案 1 :(得分:2)
我试图了解GIT API页面,但我真的不确定从哪里开始工作。
您可能最好使用库以您选择的语言与Github交谈,而不是从头开始。 Github API有很多细微差别,如分页,缓存,速率限制,这些库为您处理的错误处理。
Perl在Pithub中有Net::Github和others。 Ruby有github_api等等。
如果您真的想要使用curl
,Github API overview使用curl
来表示所有基本示例。获取问题清单非常简单。
致"List issues for a repository" Github对GET /repos/:owner/:repo/issues
说。这意味着如Schema docs中所述,使用路径https://api.github.com/
向/repos/:owner/:repo/issues
发出GET请求。您填写:owner
和:repo
。
curl 'https://api.github.com/repos/evalEmpire/perl5i/issues'
这将在一个大的JSON列表中得到all the open issues for evalEmpire's perl5i repository。然后,您可以使用JSON解析器将其转换为数据结构,并随意执行任何操作。
您还可以添加各种参数作为查询字符串的一部分。这将使自2016年中期以来所有问题都得到更新。
curl 'https://api.github.com/repos/evalEmpire/perl5i/issues?state=all&since=2016-07-01T00:00:00Z'
答案 2 :(得分:0)
如果您使用JavaScript,请使用octokit/rest.js库。以下是使用您可以快速使用的REST API的CLI工具:GitHub CSV Tools。