I am using the new scriptable build features in Visual Studio Online (not the XAML build definitions), and I am trying to have the build version number include the latest Gi
I'm afraid it is not able to use $(SourceVersion)
in the build number format. However, I think you can use PowerShell to change build number to be $(SourceVersion)
, and you need to include the PowerShell in your build process. Check this link for the details.
And you can define the PowerShell to be similar to:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.WorkItemTracking.Client")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Build.Client")
[System.Reflection.Assembly]::LoadWithPartialName("System.Net")
[String] $CollectionUrl = "https://vsoserver.visualstudio.com/defaultcollection"
[String] $BuildUrl = $env:BUILD_BUILDURI
$netCred = New-Object System.Net.NetworkCredential("username","password")
$basicCred = New-Object Microsoft.TeamFoundation.Client.BasicAuthCredential($netCred)
$tfsCred = New-Object Microsoft.TeamFoundation.Client.TfsClientCredentials($basicCred)
$teamProjectCollection = New-Object Microsoft.TeamFoundation.Client.TfsTeamProjectCollection($CollectionUrl,$tfsCred)
$buildServer = $teamProjectCollection.GetService([type]"Microsoft.TeamFoundation.Build.Client.IBuildServer")
$buildDetail = $buildServer.GetBuild([Uri]$BuildUrl)
$buildDetail.BuildNumber = $Env:BUILD_SOURCEVERSION
$buildDetail.KeepForever = $true
$buildDetail.Save()