Portal Community
Irreversible operation: Deleted Jira issues cannot be restored via the API. All linked data — comments, attachments, history, time logs — is permanently erased. Always implement a confirmation guard or approval gate in your workflow before executing this operation. In most cases, transitioning an issue to a "Cancelled" or "Invalid" status is a better alternative that preserves audit history.

When to Use

Configuration

Connection

FieldRequiredDescription
HostRequiredJira instance base URL. Example: https://acmecorp.atlassian.net
EmailRequiredAtlassian account email. Example: automation@acmecorp.com
ApiTokenRequiredAPI token from Atlassian security settings. Store in Credentials Manager.

Operation Fields

FieldRequiredDescription
IssueKeyRequiredThe key of the issue to permanently delete. Example: PROJ-123. Triple-check this value before executing — deletion is irreversible.

Sample Configuration

Delete a confirmed duplicate issue after human approval gate:

{
  "resource": "issue",
  "operation": "delete",
  "Host": "https://acmecorp.atlassian.net",
  "Email": "automation@acmecorp.com",
  "ApiToken": "{{ $credentials.jiraApiToken }}",
  "IssueKey": "{{ $json.duplicateIssueKey }}"
}

Validation Errors

Error CodeCause
VAL_MISSING_ISSUE_KEYIssueKey is empty or null.
ISSUE_NOT_FOUNDNo issue exists with the given key, or the user lacks access.
PERMISSION_DENIEDThe authenticated user does not have Delete Issue permission in this project.
AUTH_FAILEDInvalid credentials or expired API token.

Output Fields

FieldTypeDescription
statusstring"success" or "error"
issueKeystringKey of the deleted issue. Example: "PROJ-123"
deletedbooleantrue if the issue was successfully deleted.
resourcestringAlways "issue"
operationstringAlways "delete"

Sample Output

{
  "status": "success",
  "issueKey": "TEST-89",
  "deleted": true,
  "resource": "issue",
  "operation": "delete"
}

Expression Reference

ExpressionTypeExample ValueUse
{{ $output.deleteIssue.deleted }}booleantrueConfirm deletion succeeded before logging
{{ $output.deleteIssue.issueKey }}string"TEST-89"Log the deleted key in an audit trail

Node Policies & GuardRails

Workflow Examples

Example 1 — Test Data Cleanup with Label Guard

// Step 1: issue/getAll — find test issues
{
  "Jql": "project = TEST AND labels = \"test-auto\" AND created <= -24h",
  "Limit": 100
}
// Step 2: Loop over issues
// Step 3 per issue: IfCondition — confirm it's a test issue
// Condition: {{ $loopItem.labels }}.includes("test-auto")
// Step 4 (if confirmed): issue/delete
{
  "resource": "issue",
  "operation": "delete",
  "IssueKey": "{{ $loopItem.key }}"
}

Example 2 — Duplicate Issue Removal with Approval Gate

// Step 1: Duplicate detection logic identifies confirmed duplicates
// Step 2: Approval Node — requires manager sign-off
// Step 3 (after approval): issue/get — log issue details
// Step 4: MongoDB/insert — archive issue data before deletion
// Step 5: issue/delete
{
  "resource": "issue",
  "operation": "delete",
  "IssueKey": "{{ $json.confirmedDuplicateKey }}"
}
// Step 6: Slack notification — confirm deletion with audit reference