如何从azure构建管道(CI)中的预定义变量获取拉取请求编号

Abh*_*rma 2 powershell continuous-integration azure azure-devops

我需要 CI 启动的 PR 编号。我正在使用 System.PullRequest.PullRequestNumber,但当我的 CI 运行时它显示空字符串。

在此输入图像描述

写入主机“PR 编号是:-” $env:System.PullRequest.PullRequestNumber

我没有通过保存和队列运行此 CI。遵循PR的完整流程。

Leo*_*SFT 5

如何从azure构建管道(CI)中的预定义变量获取拉取请求编号

首先,就像文档系统变量状态一样:

在此输入图像描述

该变量System.PullRequest.PullRequestNumber是从GitHub填充的。我们应该使用System.PullRequest.PullRequestId.

因此,我们可以使用语法$(System.PullRequest.PullRequestId)来获取值:

Write-Host "PR ID is:-" $(System.PullRequest.PullRequestId)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

另外,基于理解变量语法文档

当变量变成环境变量时,变量名变成大写,句点变成下划线。例如, 变量any.variable 变为$ANY_VARIABLE

所以,如果你得到环境变量$env:System_PullRequest_PullRequestId而不是$(System.PullRequest.PullRequestId)

所以,脚本应该是:

Write-Host "PR ID is:-" $env:System_PullRequest_PullRequestId
Run Code Online (Sandbox Code Playgroud)

System.PullRequest.PullRequestId这就是为什么不为你工作的原因。

希望这可以帮助。