Bitbucket Cloud API的文档指定了如何向特定用户添加SSH密钥。
然而,Bitbucket网站也允许添加几个SSH"访问键"。(又名部署密钥)到存储库,允许对密钥持有者进行只读访问。
是否可以通过Bitbucket Cloud API添加访问密钥?
部署密钥通过它们自己的API端点进行管理:
/repositories/{workspace}/{repo_slug}/deploy-keys
只需POST一个JSON负载到包含键和标签的URL,例如
{
"key": "ssh-ed25519 AAAAc3z...",
"label": "my key"
}
如果你生成一个App Password,那么你可以添加一个部署键到任何你有管理权限的repo,如下所示(单独的shell变量为了可读性):
BB_WORKSPACE="myworkspace"
BB_USER="myusername"
BB_PASS="oKoungoe7morerandomcharsae6PeewooFee"
BB_REPO="myrepo"
BB_KEY="ssh-ed25519 AAAAC3zNaCClZDImorerandomcharsTy0AC0YGKAMtZ+/Zk5teMaBvyrj3gtL6sFDdQQ"
# via curl...
curl -u "$BB_USER:$BB_PASS"
-H "Content-Type: application/json"
-d '{"key":"'"$BB_KEY"'", "label":"mykey@myserver"}'
https://api.bitbucket.org/2.0/repositories/$BB_WORKSPACE/$BB_REPO/deploy-keys
# via httpie...
http -a $BB_USER:$BB_PASS
https://api.bitbucket.org/2.0/repositories/$BB_WORKSPACE/$BB_REPO/deploy-keys
key="$BB_KEY"
label="mykey@myserver"