private/item/Get-ItemIdFromUrl.ps1
# Set-MyInvokeCommandAlias -Alias GetItemId -Command 'Invoke-GetIContentId -Url {url}' # function Get-ItemIdFromUrl{ # [CmdletBinding()] # param( # [Parameter(Mandatory,Position = 0)][string]$Url, # [Parameter()][string]$Owner, # [Parameter()][int]$ProjectNumber # ) # # figure out the projectID from environment # if([string]::IsNullOrWhiteSpace($ProjectId)){ # $project = Get-Project -Owner $Owner -ProjectNumber $ProjectNumber -SkipItems # if(-not $project){ # "Project not found for Owner [$Owner] and ProjectNumber [$ProjectNumber]" | Write-MyError # return $null # } # $projectId = $project.ProjectId # } # $params = @{ # url = $Url # } # $response = Invoke-MyCommand -Command GetItemId -Parameters $params # $nodes = $response.data.repository.issueOrPullRequest.projectItems.nodes # if(-not $nodes){ # "Query failed" | Write-MyError # $ret = $null # } # # find the project reference in the nodes # $node = $nodes | Where-Object { $_.project.id -eq $projectId } # if($node){ # $ret = $node.id # } else { # "Item not found for URL [$Url] on project with Owner [$Owner] ProjectNumber [$ProjectNumber] ProjectId [$projectId]" | Write-MyError # $ret = $null # } # return $ret # } Export-ModuleMember -Function Get-ItemIdFromUrl |