要使用描述here的TravisCI API获取构建列表,它表示您需要将存储库ID放在请求地址中。
我想知道,这个ID是什么,我在哪里可以找到它?它是否与存储库slug不同,即username/reponame?
答案 0 :(得分:3)
存储库ID是Repov密钥,显示在Travis CI API响应中。
这可以通过以下方式检索:
$ curl -L http://api.travis-ci.org/repos/user_name/repo_name
或者如果您安装了travis
命令,请尝试:
$ travis show -r user_name/repo_name
以下是Ruby中的相应代码:
require 'travis'
repos = Travis::Repository.find_all(owner_name: 'user_name')
repos.each do |repo|
puts repo.slug
end
在上面的示例中,将user_name
和repo_name
更改为正确的值。
答案 1 :(得分:1)
通过TravisCI API读取,存储库ID与slug不同。它是Travis分配给存储库的编号,与Github存储库ID无关。
例如:curl https://api.travis-ci.org/repos/schwern/URI-Find
将返回...
{
"id":527875,
"slug":"schwern/URI-Find",
"description":"Perl module to find URIs in arbitrary text",
"public_key":"...",
"last_build_id":29287626,
"last_build_number":"10",
"last_build_status":0,
"last_build_result":0,
"last_build_duration":28,
"last_build_language":null,
"last_build_started_at":"2014-07-07T03:43:28Z",
"last_build_finished_at":"2014-07-07T03:44:03Z"
}
您也可以使用id
访问存储库。 curl https://api.travis-ci.org/repos/527875
将返回相同的内容。
正如您在https://api.github.com/repos/schwern/URI-Find中看到的那样,Travis存储库ID与Github存储库ID不同。
我认为使用id与slug的优点是slug可能会改变,可以重命名存储库并转移所有权,但id可能不会。
答案 2 :(得分:1)
您可以从您正在查看的存储库的有效负载中获取存储库ID,请参阅http://docs.travis-ci.com/api/#repositories。此端点的有效内容中的id是您可以用于/builds
端点的ID。
也就是说,您可以使用slug或id来获取该存储库的构建,因此这两个产生相同的结果:https://api.travis-ci.org/builds?repository_id=82和https://api.travis-ci.org/repos/sinatra/sinatra/builds