要使用描述爲here的TravisCI API獲取構建列表,它表示需要將存儲庫標識放在請求地址中。什麼是Travis-CI API中討論的「存儲庫ID」?
我在想,這個ID是什麼,我在哪裏找到它?它與版本庫slug不同,它是username/reponame?
要使用描述爲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
轉化爲正確的值。