Public/Get-SonarrQueue.ps1
|
function Get-SonarrQueue { <# .SYNOPSIS Gets the download queue from Sonarr. .DESCRIPTION Returns items currently in the download queue, including active downloads and queued items. Supports pagination and filtering. .PARAMETER Page The page number to retrieve (for pagination). Defaults to 1. .PARAMETER PageSize The number of items per page. Defaults to 20. .PARAMETER IncludeUnknownSeriesItems Include downloads that don't match any known series. .EXAMPLE Get-SonarrQueue Returns the first 20 items in the download queue. .EXAMPLE Get-SonarrQueue -PageSize 50 Returns the first 50 items in the download queue. .EXAMPLE Get-SonarrQueue -Page 2 -PageSize 10 Returns items 11-20 from the download queue. .EXAMPLE Get-SonarrQueue -IncludeUnknownSeriesItems Returns queue items including downloads that don't match any known series. .NOTES Queries the active context. Use Select-SonarrContext to target a different instance. #> [CmdletBinding()] param ( [Parameter(Mandatory = $false)] [int]$Page = 1, [Parameter(Mandatory = $false)] [int]$PageSize = 20, [Parameter(Mandatory = $false)] [switch]$IncludeUnknownSeriesItems ) #################################################################################################### #Region Import configuration try { Import-Configuration -ErrorAction Stop } catch { throw $_ } #EndRegion #################################################################################################### #Region Define the parameters try { $Params = @{ page = $Page pageSize = $PageSize } if($IncludeUnknownSeriesItems) { $Params['includeUnknownSeriesItems'] = 'true' } } catch { throw $_ } #EndRegion #################################################################################################### #Region make the main request try { $Data = Invoke-SonarrRequest -Path '/queue' -Method GET -Params $Params -ErrorAction Stop return $Data } catch { throw $_ } #EndRegion } |