我希望使用Github企业API获取在特定日期范围内创建的问题列表。我想做的就是在问题页面上进行搜索,如下图所示:
我尝试过以下命令:curl -H "Authorization: token myToken" "https://github.mydomain.com/api/v3/repos/owner/repo/issues?state=all&since=2015-09-01" > issues.json
但这并不能满足我的需要,因为根据Api docs的参数since
被描述为:
仅返回此时或之后更新的问题。这是ISO 8601格式的时间戳:YYYY-MM-DDTHH:MM:SSZ
提前致谢!
答案 0 :(得分:1)
因此,经过大量谷歌搜索和阅读Github API文档,我发现了它。我需要的是Github Search API。我做的第一件事是弄清楚this stackoverflow post中描述的企业API上可用的端点。所以我使用以下命令来做到这一点:
curl -H "Authorization: token [myToken]" "https://github.mydomain.com/api/v3/"
回复中返回的一个端点是:
"issue_search_url": "https://github.mydomain.com/api/v3/search/issues?q={query}{&page,per_page,sort,order}"
使用该端点,我构建了以下命令,它给了我所需的内容:
curl -H "Authorization: token [myToken]" "https://github.mydomain.com/api/v3/search/issues?page=1&per_page=100&sort=created&order=asc&q=repo:[Owner]/[RepoName]+is:issue+created:>=2015-09-01"
让我们分解参数(符号后面的任何内容):
page=1&per_page=100
:此请求的默认结果数为每页30个。在我的情况下,我有664个结果。所以我需要做多个请求,指定哪个页面(page=1
)以及我想要的请求数量(per_page=100
),直到我得到所有这些。在我的情况下,我每次更改页码时都使用上面的URL做了7个请求。有关详细信息,请参阅Github docs on Pagination &sort=created&order=asc
:按创建日期按升序排序(最早的第一个)。请参阅Github Search API和Searching Issues q=repo:[Owner]/[RepoName]+is:issue+created:>=2015-09-01
:形成一个搜索查询(q=
),将搜索范围限制为从2015-09-01和(is:issue
)创建的问题(created:>=2015-09-01
)回购所有者/姓名(repo:[Owner]/[RepoName]
)希望这有助于其他人,因为我发现Github api文档不是很清楚。