假设我们有以下分支机构:
故事可以合并到sprint(用于sprint项)或Master(用于修复程序),我们想要的是这样:
我们要保护master或sprint分支,因此只能通过PR请求对其进行更改。
除了质量检查手动创建PR,然后合并到master分支外,我想在构建任务中执行此操作。因此,我尝试使用Azure CLI任务运行批处理:
az repos pr create --auto-complete true --bypass-policy true --bypass-policy-reason "CI build" --repository JerryTestCI --source-branch R_Current_Sprint --target-branch master
这给了我一个错误: 在运行Azure DevOps命令之前,需要运行login命令(如果使用AAD / MSA身份,则使用az登录;如果使用PAT令牌,则使用az devops登录)来设置凭据。有关更多信息,请参见https://aka.ms/azure-devops-cli-auth。
但是,当我的脚本在构建任务中运行时,如何登录?我试过了,但是我的构建只会挂在该命令上。
az devops login --organization https://XXX.visualstudio.com/
那么我的想法是正确的工作方式吗?如果可以,如何在构建管道中创建和完成PR请求?
答案 0 :(得分:2)
如果还可以,我如何在构建中创建和完成PR请求 管道?
最简单的方法是在选中“设置自动完成”选项的情况下使用Create Pull Request Task。
如果要通过CLI进行操作,请生成PAT令牌:
将其另存为秘密变量:
使用powershell将其另存为env variable
$env:AZURE_DEVOPS_EXT_PAT = '$(token)'
然后使用任何az devops命令,都应进行身份验证。
答案 1 :(得分:0)
另一种解决方案是安装Create Pull Request extension,它会自动从Build或Release管道中为Azure DevOps或GitHub存储库创建一个Pull Request,还支持多目标分支。
免责声明:我是作者。
答案 2 :(得分:0)
您可以通过以下方式使用 az devops cli 登录:
echo $PersonalAccessToken | az devops login
az devops configure --defaults organization=https://dev.azure.com/$OrganizationName project=$ProjectName
https://docs.microsoft.com/en-us/azure/devops/cli/log-in-via-pat?view=azure-devops&tabs=windows
但是是的,这应该可以正常工作。