functions/Get-RGIssue.ps1

function Get-RGIssue {
    [CmdletBinding(DefaultParameterSetName = 'ByNull')]
    param (
        [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $True, ParameterSetName = 'ByIssueId')]
        [long] $IssueId,
        [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $True, ParameterSetName = 'ByQuery')]
        [hashtable] $Query
    )
    
    if ($IssueId -ne 0){
        return (Invoke-RGRequest -Uri ("{0}/issues/{1}.json" -f $script:RedmineRootUri, $IssueId)).issue
    }

    return Invoke-RGBatchRequest -Uri ("{0}/issues.json" -f $script:RedmineRootUri) -Query  $Query
}