public/getRepoProperties.ps1
Set-MyInvokeCommandAlias -Alias 'GetRepoInformation' -Command 'gh api repos/{owner}/{repo}' <# .SYNOPSIS Gets the custom properties of a repository. #> function Get-RepoProperties{ [CmdletBinding()] param( [Parameter(Mandatory,Position=0)] [string]$Owner, [Parameter(Mandatory,Position=1)] [string]$Repo ) # Resolve repor form parameters and environment $Owner,$Repo = Get-Environment $Owner $Repo # Error if parameters not set. No need to check repo too. if([string]::IsNullOrEmpty($Owner) -or [string]::IsNullOrEmpty($Repo)){ "[Get-RepoProperties] Owner and Repo parameters are required" | Write-Error return $null } "Getting properties for $Owner/$Repo" | Write-Verbose $param = @{ owner = $Owner ; repo = $Repo } $result = Invoke-MyCommandJson -Command GetRepoInformation -Parameters $param if($null -eq $result){ "Error getting repo information" | Write-Error return $null } $IsEmpty = [string]::IsNullOrEmpty($result.custom_properties) $ret = $IsEmpty ? $null : $result.custom_properties "Repo found custom_properties on [$owner/$repo] : " | Write-Verbose $ret | Format-List | Out-String | Write-Verbose return $ret } Export-ModuleMember -Function Get-RepoProperties |