2014-07-07 60 views

回答

1

通過讀取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大概不會。

2

儲存庫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_namerepo_name轉化爲正確的值。