什么是Travis-CI API中讨论的“存储库ID”?
要使用描述为here的TravisCI API获取构建列表,它表示需要将存储库标识放在请求地址中。什么是Travis-CI API中讨论的“存储库ID”?
我在想,这个ID是什么,我在哪里找到它?它与版本库slug不同,它是username/reponame?
通过读取TravisCI API,版本库ID与slug不同。它是由Travis分配给存储库的一个数字,与Github存储库ID无关。
例如:https://api.travis-ci.org/repos/schwern/URI-Find.json将返回...
{"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
访问存储库也是如此。 https://api.travis-ci.org/repos/527875.json将返回相同的内容。
正如你可以看到https://api.github.com/repos/schwern/URI-Find Travis仓库ID不同于Github仓库ID。
我认为使用id和slug的优点是可以改变slug,可以重新命名存储库并转移所有权,但是id大概不会。
您可以从正在查看的存储库的有效负载中获取存储库标识,请参阅http://docs.travis-ci.com/api/#repositories。此端点的有效负载中的ID是您可以用于端点的ID。
这就是说,你可以使用一个块或一个id来获取建立用于该储存库,所以这两个产生相同的结果:https://api.travis-ci.org/builds?repository_id=82和https://api.travis-ci.org/repos/sinatra/sinatra/builds
储存库ID是在所示的回购键Travis CI API响应。
这可以是通过检索:
$ curl -L http://api.travis-ci.org/repos/user_name/repo_name
,或者如果你已经安装了travis
命令,尝试:红宝石
$ travis show -r user_name/repo_name
这里是对应的代码:
require 'travis'
repos = Travis::Repository.find_all(owner_name: 'user_name')
repos.each do |repo|
puts repo.slug
end
在上例中,更改user_name
和repo_name
转化为正确的值。