我正在尝试使用CircleCI的REST API创建“github-user-key”类型的“New Checkout Key”。
如果我跑:
{
"public_key" : "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABA . . . pRYe+9SHcZFs4n \n",
"type" : "deploy-key",
"fingerprint" : "b0:cd:e8:77:ef:00:d5:da:62:b7:fc:d9:9e:84:f7:f1",
"login" : null,
"preferred" : true,
"time" : "2015-11-20T14:57:43.379Z"
}
我明白了:
curl -X POST \
--header "Content-Type: application/json" \
-d '{"type":"user-key"}' \
https://circleci.com/api/v1/project/myOrg/myPrj/checkout-key?circle-token=8e9c47...etc
如果我跑:
{
"message" : "Invalid checkout key type (valid types are deploy-key and github-user-key)"
}
我明白了:
curl -X POST \
--header "Content-Type: application/json" \
-d '{"type":"github-user-key"}' \
https://circleci.com/api/v1/project/myOrg/myPrj/checkout-key?circle-token=8e9c47...etc
如果我跑:
{
"message" : "{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3\"}"
}
我明白了:
var o = {
a: "apple",
b: "banana",
c: "cherry"
};
var a = Object.keys(o).map(function(el) {
return o[el];
}).join(",");
console.log(a); // "apple,banana,cherry"
我怀疑该命令的文档不完整。
有谁知道怎么做?
答案 0 :(得分:2)
为了能够向项目添加用户密钥,CircleCI需要GitHub的权限才能将SSH密钥添加到您的帐户。您可以访问项目设置>授予其权限。权限>检查任何项目的SSH密钥,然后单击授权w / GitHub 。执行此操作后,您应该能够使用演示的github-user-key
命令为任何其他项目生成类型为curl
的结帐密钥。
答案 1 :(得分:1)
感谢您对此进行展示 - 我们正在为您的报告提交错误。很抱歉我们发送给您的第一个答案很混乱,我们对上下文不太了解。