如何导出'问题'来自github和进程的数据呢?

时间:2017-03-17 05:05:43

标签: curl github

我要求我必须在我的GitHub存储库中提取问题列表并制作数据图表。但是,我一直坚持从我的GitHub存储库中提取问题列表。

我试图理解GIT API页面,但我真的不确定从哪里开始工作。

如果有人以前做过这样的事情,请详细说明。

3 个答案:

答案 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::Githubothers。 Ruby有github_api等等。

如果您真的想要使用curlGithub 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