检查以前的版本信息(VSTS API)
一个VSTS建立的执行过程中都可以访问以前的版本的变量?例如,我可以获得以前版本的$(Build.SourceVersion)或$(Build.QueuedBy)吗?检查以前的版本信息(VSTS API)
我能得到这样的$(Build.SourceVersion)通过构建变量当前构建的信息,但我能得到这样的$(Build.Previous.SourceVersion)?
号“上”是一个模糊的概念,当你谈论的是可以并行运行的东西。如果你有3个版本同时运行会怎么样?
这是一个持续集成项目。当有人检查触发构建的新代码时;我想比较上次成功构建的回购和刚刚触发的构建。 – user3364161
以前的构建信息没有内置变量,解决方法是您可以在构建期间通过PowerShell调用Builds REST API(可以是过滤器状态,如完成,inProgress)。 (结果的第一个项目是最新的一个)
$base64authinfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $User, $Password)))
$responseFromGet = Invoke-RestMethod -Method Get -ContentType application/json -Uri $Uri -Headers @{Authorization=("Basic {0}" -f $base64authinfo)}
有关调用REST API有些文章:Calling VSTS APIs with PowerShell,VSTS/TFS REST API: The basics and working with builds and releases
您可以使用System.AccessToken
变量作为密码的值(检查允许脚本访问的OAuth令牌选项在选项选项卡)和用户名可以是任何东西。
我正在浏览REST API,但有点困难。我有$ uri =“$ vstsAccount”+“DefaultCollection/$ projectName/_apis/build/builds /”+“$ buildId”+“?api-version = 2.0”,我正在运行一个GET,但它的数据返回与示例中的不同。 – user3364161
@ user3364161有什么不同? –
号什么是你想利用这些信息来完成? –
上次成功构建的源版本相较于最近一次生成 – user3364161
目的是什么? –