2011-09-06 68 views
2

部署鍵github上我下面在這裏發佈的指導方針:http://develop.github.com/p/repo.html問題將通過API

我想公鑰添加到我的一套部署按鍵,使用GitHub的API。

創建回購工作正常:

curl -F "login=username" -F "token=ApiToken" https://github.com/api/v2/json/repos/create -F name=myrepo 

{"repository":{"owner":"username","has_downloads":true,"forks":1,"url":"https://github.com/username/myrepo","watchers":1,"has_wiki":true,"fork":false,"size":0,"open_issues":0,"created_at":"2011/09/06 02:42:08 -0700","name":"myrepo","private":false,"has_issues":true}} 

我可以列出鍵(emtpy現在):(!保持爲空,即使加入後)

curl -F "login=username" -F "token=ApiToken" https://github.com/api/v2/json/repos/keys/username/myrepo 

{"public_keys":[]} 

但我不能添加鍵:

curl -X POST -F "login=username" -F "token=ApiToken" https://github.com/api/v2/json/repos/key/username/myrepo/add -F "title=TheTitle" -F "key=ssh-rsa xxxxx..." 

{"public_keys":[]} 

對於GitHub API有什麼限制嗎?

+0

你有沒有試着用簡單的引號代替雙引號? – VonC

+0

是的,我做過。我認爲問題在於我試圖添加的密鑰已經分配給另一個用戶,並且github不允許將一個密鑰關聯到多個帳戶。用戶界面中的錯誤消息或多或少清楚:「糟糕!密鑰已被使用.',但通過API的回覆是無聲的。 – dangonfast

+0

你嘗試添加一個僞造的密鑰,只是爲了看看API是否工作? – VonC

回答

3

我發現這個問題,所以在這裏可以參考。 Github不允許將公鑰與幾個用戶關聯。 如果您嘗試使用Web界面添加鍵,您將得到以下信息:

Oops! The key has already been taken. 

的API是沉默。這就是我困惑的原因。

採用了全新的按鍵,該API工作正常,並回復:

curl -X POST -F "login=username" -F "token=ApiToken" https://github.com/api/v2/json/repos/key/username/myrepo/add -F "title=Bogus" -F "key=ssh-rsa xxxxx...." 

{"public_keys":[{"title":"Bogus","id":1199679,"key":"ssh-rsa xxxx..."}]} 
+0

非常好。感謝您的反饋和+1 – VonC

+0

在v3中找不到任何內容 – ashim888