$(Build.SourceVersion) 有时不提供最新的更改集编号

$(Build.SourceVersion) not giving latest change set number sometimes

提问人:Chanakya 提问时间:8/24/2022 最后编辑:Chanakya 更新时间:8/30/2022 访问量:743

问:

在生成管道任务 (Power Shell) 中,我尝试检索 $(Build.SourceVersion) 的值,假设它将提供触发生成的最新更改集编号。但有时它会给出之前的更改集编号。

我们可以强制更新这个变量以获得最新的更改集编号吗?或者我们是否有任何其他替代方法可以获取触发构建的最新变更集编号?

我没有对变量进行任何更改。在管道中,我添加了一个 power shell 脚本任务,该任务访问名为“$env:ChangeSetNumber”的环境变量,此环境变量在任务的“环境变量”部分中声明,如下图所示,该任务指向“$(Build.SourceVersion)”

在此处输入图像描述

$(Build.SourceVersion) 的值有时会返回以前的更改集编号,而不是触发生成的更改集编号。

要求是获取触发生成的变更集编号。

、tfsbuild 、azure-pipelines-release-pipeline

评论

0赞 Vivek Jaiswal 8/28/2022
管道任务是否针对拉取请求运行?或者有什么具体的事情?
0赞 Chanakya 8/29/2022
@VivekJaiswal 管道由于封闭签入而触发。

答:

0赞 Vivek Jaiswal 8/30/2022 #1

请尝试使用以下替代方法:

$(system.pullRequest.sourceCommitId)

评论

0赞 Chanakya 8/30/2022
我相信$(system.pullRequest.sourceCommitId)是用于GIT,在我的情况下,我们使用的是TFVC。我将尝试。
0赞 Vivek Jaiswal 8/30/2022
此变量应用于 TFS。它可能没有记录在 Microsoft 文档中,但如果它适合您,值得一试。
0赞 Chanakya 8/30/2022
我收到错误“术语'System.PullRequest.SourceCommitId'未被识别为 cmdlet、函数、脚本文件或可操作程序的名称。我在内联powershell任务中使用它。