我遵循此处发布的指南:http://develop.github.com/p/repo.html
我正在尝试使用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 :(得分: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..."}]}