Public/Remove-JiraIssue.ps1

function Remove-JiraIssue {
    <#
    .SYNOPSIS
        Löscht ein Jira-Issue.
    .PARAMETER IssueKey
        Key oder ID des zu löschenden Issues, z.B. "PROJ-123".
    .PARAMETER DeleteSubtasks
        Löscht auch vorhandene Subtasks. Ohne diesen Switch schlägt das Löschen fehl, falls Subtasks existieren.
    .EXAMPLE
        Remove-JiraIssue -IssueKey "PROJ-123"
    #>

    [CmdletBinding(SupportsShouldProcess = $true)]
    param (
        [Parameter(Mandatory = $true)]
        [string]
        $IssueKey,

        [Parameter(Mandatory = $false)]
        [switch]
        $DeleteSubtasks
    )

    process {
        if ($PSCmdlet.ShouldProcess("Issue $IssueKey", "Löschen")) {
            $Path = "/rest/api/3/issue/$IssueKey"
            if ($DeleteSubtasks) { $Path += "?deleteSubtasks=true" }
            Invoke-JiraApi -Method Delete -Path $Path | Out-Null
        }
    }
}