Public/Get-GitBranch.ps1
function Get-GitBranch { <# .SYNOPSIS Returns the git branches of a project .DESCRIPTION Returns the git branches of a project with the information wfich is the default branch .EXAMPLE PS C:\> Get-GitBranch -project 'MyProject2' Returns the git branches of a project #> [CmdletBinding( DefaultParameterSetName = "default" )] param ( # Parameter help description [Parameter(mandatory = $true, ParameterSetName = "default", Position = 0, ValueFromPipeline = $true)] [ValidateNotNullOrEmpty()] [ProjectSingleTransformation()] [Octopus.Client.Model.ProjectResource] $Project ) begin { try { ValidateConnection } catch { $PSCmdlet.ThrowTerminatingError($_) } } process { if (! $project.IsVersionControlled) { Write-Verbose "$($project.name) is not version controlled" return } $branches = [System.Collections.ArrayList]::new() $branches = ($repo._repository.Projects.GetGitBranches($Project)).items $result = [System.Collections.Generic.List[PSCustomObject]]::new() foreach ($branch in $branches) { $result.add([PSCustomObject]@{ Name = $branch.name CanonicalName = $branch.CanonicalName IsDefault = if ($branch.name -eq $project.PersistenceSettings.defaultBranch) { $True }else { $false } }) } @(, $result) } } |