之前我曾问过一个关于如何从命令行提出拉取请求的问题,并且在帮助下我提出了这个代码来完成它:
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机器上生成密钥,然后将公钥添加到Bitbucket。请添加您对如何完成此操作的看法。此外,如果有更好的方法来避免普通的用户身份验证,那就太好了。感谢
答案 0 :(得分:1)
我想这是关于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
但是,我想最适合您的解决方案是创建应用程序链接并使用OAuth。