自动将任务添加到新的Btibucket Pull请求中



我们有几个默认任务,希望添加到Bitbucket中的每个新的拉取请求中。由于任务不受Bitbucket API的支持,我能想到的最好的事情就是通过Selenium脚本或其他GUI测试程序实现自动化。我正在考虑用詹金斯的工作来监视新的拉取请求。有人能想出更好的方法吗?

我发现任务端点没有文档记录,但却是活动的。

您可以执行以下

export PROJECT=yourProject
export REPO=yourRepo
export PR_ID=pullRequestId
export TASK_NAME=theNameOfTheTask
curl -H "Content-Type:application/json" -X POST --user "${TB_USER}:${TB_PASSWORD}" -d '{"content":{"raw":"${TASK_NAME}"}}' "https://api.bitbucket.org/2.0/repositories/${PROJECT}/${REPO}/pullrequests/${PR_ID}/tasks/"

您还可以发送GET以获取所有任务及其状态

感谢您的发现!

请注意,Bitbucket停止支持使用标准用户/通行证的基本身份验证,您需要设置AppPassword并使用您的普通Bitbucket用户名(无电子邮件(。

https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/

例如:

export PROJECT=yourProject
export REPO=yourRepo
export PR_ID=pullRequestId
export TASK_NAME=theNameOfTheTask
curl -H "Content-Type:application/json" -X POST --user "bt-username:bt-apppassword" -d "{"content":{"raw":"${TASK_NAME}"}}" "https://api.bitbucket.org/2.0/repositories/${PROJECT}/${REPO}/pullrequests/${PR_ID}/tasks/"