CircleCI API命令“New Checkout Key”是否适用于“github-user-key”类型?

时间:2015-11-20 15:31:07

标签: api github github-api github-pages circleci

我正在尝试使用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"

我怀疑该命令的文档不完整。

有谁知道怎么做?

2 个答案:

答案 0 :(得分:2)

为了能够向项目添加用户密钥,CircleCI需要GitHub的权限才能将SSH密钥添加到您的帐户。您可以访问项目设置>授予其权限。权限>检查任何项目的SSH密钥,然后单击授权w / GitHub 。执行此操作后,您应该能够使用演示的github-user-key命令为任何其他项目生成类型为curl的结帐密钥。

答案 1 :(得分:1)

感谢您对此进行展示 - 我们正在为您的报告提交错误。很抱歉我们发送给您的第一个答案很混乱,我们对上下文不太了解。