使用 SSH 访问密钥从命令行发出 Bitbucket Pull Request

Bitbucket Pull Request from Command Line using SSH Access Keys

早些时候我问过一个关于如何从命令行提出拉取请求的问题,在帮助下我想出了这个代码来完成它:

curl -k -X POST -H "Content-Type: application/json" --user username:password -d '{"title":"test","description":"test","fromRef":{"id":"branchone","repository":{"slug":"TrialRepo","name":null,"project":{"key":"~SS48647"}}},"toRef":{"id":"master","repository":{"slug":"TrialRepo","name":null,"project":{"key":"~SS48647"}}}}' https://url/bitbucket/rest/api/1.0/projects/~SS48647/repos/trialrepo/pull-requests

问题是这段代码将 运行 在生产环境中,用户名和密码不能是纯文本的。

我在想是否可以使用 SSH 密钥进行用户身份验证。我将在 unix 机器上生成密钥,并将 public 密钥添加到 Bitbucket。请添加您对如何完成这项工作的看法。此外,如果有更好的方法来避免纯文本用户身份验证,那就太好了。谢谢

我猜这是关于 Bitbucket Server 实例的,对吧?

根据此文档,只有基本身份验证、OAuth 或会话身份验证。 https://developer.atlassian.com/server/bitbucket/how-tos/command-line-rest/#authentication

基本身份验证的一个补充是个人访问令牌,它可以为每个用户生成,也可以用作密码:https://confluence.atlassian.com/bitbucketserver0516/personal-access-tokens-966061199.html#Personalaccesstokens-usingpersonalaccesstokens

但是,我想对您来说最合适的解决方案是创建一个应用程序 Link 并使用 OAuth。