eng/common/scripts/Get-BuildSourceDescription.ps1 (21 lines of code) (raw):

param( [string]$Variable, [switch]$IsOutput ) $repoUrl = $env:BUILD_REPOSITORY_URI $sourceBranch = $env:BUILD_SOURCEBRANCH $description = "[$sourceBranch]($repoUrl/tree/$sourceBranch)" if ($sourceBranch -match "^refs/heads/(.+)$") { $description = "Branch: [$($Matches[1])]($repoUrl/tree/$sourceBranch)" } elseif ($sourceBranch -match "^refs/tags/(.+)$") { $description = "Tag: [$($Matches[1])]($repoUrl/tree/$sourceBranch)" } elseif ($sourceBranch -match "^refs/pull/(\d+)/(head|merge)$") { $description = "Pull request: $repoUrl/pull/$($Matches[1])" } if ($IsOutput) { Write-Host "Setting output variable '$Variable' to '$description'" Write-Host "##vso[task.setvariable variable=$Variable;isoutput=true]$description" } else { Write-Host "Setting variable '$Variable' to '$description'" Write-Host "##vso[task.setvariable variable=$Variable]$description" }