Portal Community

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 retrieve comments from. Example: PROJ-123. All comments are returned regardless of author.

Sample Configuration

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

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.
AUTH_FAILEDInvalid credentials or expired API token.

Output Fields

FieldTypeDescription
statusstring"success" or "error"
commentsarrayArray of comment objects, each with id, body, author (display name), created, updated.
totalintegerTotal number of comments on the issue.
resourcestringAlways "comment"
operationstringAlways "getAll"

Sample Output

{
  "status": "success",
  "comments": [
    {
      "id": "10280",
      "body": "Investigating the payment gateway timeout. Checking network latency between checkout-service and payment-gw.",
      "author": "Sarah Chen",
      "created": "2026-05-26T08:20:00.000Z",
      "updated": "2026-05-26T08:20:00.000Z"
    },
    {
      "id": "10281",
      "body": "DEPLOYMENT CONFIRMED — 2026-05-26 14:30 UTC\nEnvironment: production\nVersion: v2.4.1\nAll health checks passing.",
      "author": "BizFirst Automation",
      "created": "2026-05-26T14:30:05.000Z",
      "updated": "2026-05-26T14:30:05.000Z"
    }
  ],
  "total": 2,
  "resource": "comment",
  "operation": "getAll"
}

Expression Reference

ExpressionTypeExample ValueUse
{{ $output.getAllComments.comments }}arrayAll comment objectsIterate for transcript generation
{{ $output.getAllComments.total }}integer2Check if any comments exist before iterating
{{ $output.getAllComments.comments.at(-1).body }}stringLatest comment textShow most recent update in dashboard
{{ $output.getAllComments.comments.at(-1).author }}string"BizFirst Automation"Identify who posted the latest update
{{ $output.getAllComments.comments.filter(c => c.author === "manager@acmecorp.com") }}arrayFiltered commentsFind approval decision comments from specific author

Node Policies & GuardRails

Workflow Example — Incident Post-Mortem Compilation

// Step 1: issue/getAll — find all incidents closed this week
// Step 2: Loop over each incident issue
// Step 3 per incident: comment/getAll
{
  "resource": "comment",
  "operation": "getAll",
  "IssueKey": "{{ $loopItem.key }}"
}
// Step 4: Function node — format timeline
// const timeline = $output.getAllComments.comments.map(c =>
//   `${c.created} [${c.author}]: ${c.body}`
// ).join('\n\n');
// Step 5: Notion/createPage — create post-mortem page with timeline