在azure构建管道中创建PR请求

时间:2020-08-29 12:39:26

标签: git azure-devops

假设我们有以下分支机构:

  1. 大师
  2. 冲刺
  3. 故事

故事可以合并到sprint(用于sprint项)或Master(用于修复程序),我们想要的是这样:

  1. 将Sprint分支部署到PreProd Environment
  2. 如果质量检查满意,则sprint分支将合并到master,然后部署到UAT,然后进行质量检查。

我们要保护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请求?

3 个答案:

答案 0 :(得分:2)

如果还可以,我如何在构建中创建和完成PR请求 管道?

解决方案1 ​​

最简单的方法是在选中“设置自动完成”选项的情况下使用Create Pull Request Task

解决方案2

如果要通过CLI进行操作,请生成PAT令牌:

enter image description here

将其另存为秘密变量:

enter image description here

使用powershell将其另存为env variable

$env:AZURE_DEVOPS_EXT_PAT = '$(token)'

然后使用任何az devops命令,都应进行身份验证。

答案 1 :(得分:0)

另一种解决方案是安装Create Pull Request extension,它会自动从Build或Release管道中为Azure DevOps或GitHub存储库创建一个Pull Request,还支持多目标分支。

enter image description here

免责声明:我是作者。

答案 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

但是是的,这应该可以正常工作。