Git/Get-RefsForRepository.ps1
function Get-RefsForRepository { Param( # Project Name [Parameter(Mandatory=$true)] [string] $ProjectName, # Repository Name [Parameter(Mandatory=$false)] [string] $RepositoryName = '', # Repository ID [Parameter(Mandatory=$false)] [string] $RepositoryID = '' ) if (('' -eq $RepositoryName) -and ('' -eq $RepositoryID)) { throw 'Please supply either RepositoryName or RepositoryID to Get-RefsForRepository' } $ProjectName = Get-ProjectName -ProjectName $ProjectName if ('' -eq $RepositoryID) { $RepositoryID = Get-RepositoryId -ProjectName $ProjectName -RepositoryName $RepositoryName } $Url = '{0}{1}/_apis/git/repositories/{2}/refs' -f (Get-TFSCollectionURL), $ProjectName, $RepositoryID $Refs = (Invoke-TFSAPI -Url $Url).value | Select-Object name $Refs | ForEach-Object {$_.name.Trim()} } function Get-RefIsInRepository { Param( # name of tag/branch [Parameter(Mandatory=$true)] [string] $RefName, # project name to retrieve refs for [Parameter(Mandatory=$true)] [string] $ProjectName, # Repository Name [Parameter(Mandatory=$false)] [string] $RepositoryName = '', # Repository ID [Parameter(Mandatory=$false)] [string] $RepositoryID = '' ) $Refs = Get-RefsForRepository -ProjectName $ProjectName -RepositoryName $RepositoryName -RepositoryID $RepositoryID $MatchingRefs = $Refs | Where-Object {$_ -like "*$RefName"} if ($null -ne $MatchingRefs) { return $true } else { return $false } } Export-ModuleMember -Function Get-RefsForRepository Export-ModuleMember -Function Get-RefIsInRepository |