public/service_desk/Get-ServiceDeskTicket.ps1
Function Get-ServiceDeskTicket { <# .DESCRIPTION Returns a list of all tickets. Sub-entities that can be used on shaping and filtering directives include owner, submitter, queue, category, priority, status, machine, asset, related_tickets, referring_tickets .PARAMETER Server The fully qualified name (FQDN) of the SMA Appliance. Example: https://kace.example.com .PARAMETER Org The SMA Organization you want to retrieve information from. If not provided, 'Default' is used. .PARAMETER Credential A credential for the kace appliance that has permissions to interact with the API. To run interactively, use -Credential (Get-Credential) .PARAMETER QueryParameters (Optional) Any additional query parameters to be included. String must begin with a <?> character. .INPUTS .OUTPUTS PSCustomObject .EXAMPLE $queryparameters = "?BY_STATE_TICKETS=all_notclosed&QUEUE_ID=0" Get-SmaServiceDeskTicket -Server https://kace.example.com -Org Default -Credential (Get-Credential) -QueryParameters $queryparameters Retrieves all "not closed" state tickets from all queues (ID=0) .EXAMPLE $queryparameters = "?shaping= hd_ticket regular,owner limited,submitter limited" Get-SmaServiceDeskTicket -Server $server -Credential $credentials -ticketID 1234 -QueryParameters $queryparameters Retrieves the standard attributes, plus owner and submitter for ticket ID 1234 .NOTES #> [cmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'low' )] param( [Parameter(Mandatory = $true)] [string] $Server, [Parameter()] [string] $Org = 'Default', [Parameter(Mandatory = $true)] [PSCredential] $Credential, [int] $TicketID, [Parameter()] [ValidatePattern("^\?")] [string] $QueryParameters ) Begin { $Endpoint = "/api/service_desk/tickets" If ($TicketID){ $Endpoint = "/api/service_desk/tickets/$TicketID" } } Process { If ($PSCmdlet.ShouldProcess($Server, "GET $Endpoint")) { New-ApiGETRequest -Server $Server -Endpoint $Endpoint -Org $Org -QueryParameters $QueryParameters -Credential $Credential } } End {} } |