public/project/getproject.ps1
Set-MyInvokeCommandAlias -Alias GitHubOrgProject -Command 'Invoke-GitHubOrgProjectWithFields -Owner {owner} -ProjectNumber {projectnumber} ' function Get-Project { [CmdletBinding()] param( [Parameter(Position = 0)][string]$Owner, [Parameter(Position = 1)][int]$ProjectNumber, [Parameter()][switch]$Force ) ($Owner, $ProjectNumber) = Get-OwnerAndProjectNumber -Owner $Owner -ProjectNumber $ProjectNumber if ([string]::IsNullOrWhiteSpace($owner) -or [string]::IsNullOrWhiteSpace($ProjectNumber)) { throw "Owner and ProjectNumber are required on Get-Project" } if ($force -or -Not (Test-ProjectDatabase -Owner $Owner -ProjectNumber $ProjectNumber)) { $result = Update-ProjectDatabase -Owner $Owner -ProjectNumber $ProjectNumber if ( ! $result) { return } } $prj = Get-ProjectFromDatabase -Owner $Owner -ProjectNumber $ProjectNumber return $prj } Export-ModuleMember -Function Get-Project function Get-ProjectId { [CmdletBinding()] param( [Parameter(Position = 0)][string]$Owner, [Parameter(Position = 1)][int]$ProjectNumber, [Parameter()][switch]$Force ) ($Owner, $ProjectNumber) = Get-OwnerAndProjectNumber -Owner $Owner -ProjectNumber $ProjectNumber if ([string]::IsNullOrWhiteSpace($owner) -or [string]::IsNullOrWhiteSpace($ProjectNumber)) { throw "Owner and ProjectNumber are required on Get-ProjectId" } if ($force -or -Not (Test-ProjectDatabase -Owner $Owner -ProjectNumber $ProjectNumber)) { $params = @{ owner = $Owner ; projectnumber = $ProjectNumber } $response = Invoke-MyCommand -Command GitHubOrgProject -Parameters $params $id = $response.data.organization.projectV2.id } else { $response = Get-ProjectFromDatabase -Owner $Owner -ProjectNumber $ProjectNumber $id = $response.ProjectId } return $id } Export-ModuleMember -Function Get-ProjectId |