The Jira node connects workflows to the Jira REST API for project, issue, comment, attachment, user, notification, and transition automation. The default operation is Search Issues.
Overview
| Property | Value |
|---|---|
| Inputs | 1 |
| Outputs | 1 |
| Credential | Jira (Cloud email/API token, Data Center username/password or personal access token, base URL, deployment mode, optional REST API version) |
| Output | $nodeLabel.* |
Credential
Create a Jira credential in the Credentials Tab. Stored config keys are email, api_token, base_url, deployment, auth_mode, and optional api_version. For Jira Cloud, email stores the Atlassian account email and api_token stores the Atlassian API token. For Jira Data Center / Server, those same keys store the Basic auth username and password, or, with auth_mode: pat, api_token stores a personal access token sent as a Bearer token and email is not used. See Third-Party Integrations for setup steps.
| Field | Config key | Description |
|---|---|---|
| Jira Email / Username | email | Jira Cloud Atlassian account email, or Jira Data Center / Server username |
| Authentication | auth_mode | basic (default) or pat (Data Center / Server only) |
| API Token / Password / Personal Access Token | api_token | Jira Cloud Atlassian API token, Jira Data Center / Server password for Basic auth, or a Data Center personal access token in pat mode |
| Base URL | base_url | Jira site URL, for example https://your-domain.atlassian.net |
| Deployment | deployment | cloud for Jira Cloud or data_center for Jira Data Center / Server |
| REST API Version | api_version | Defaults to 3 for Jira Cloud. Data Center / Server uses REST API v2 |
Personal access tokens require Jira Data Center / Server 8.14 or later. Switching authentication method clears the stored secret, so enter the new password or token when you switch.
Use Test Connection to verify the credential against the current Jira user.
Operations
| Operation | Required fields | Output |
|---|---|---|
| Get Myself | — | user |
| List Projects | Optional Limit, Start At | projects, count, pagination |
| Search Issues | Optional JQL, Issue Fields, Limit, Next Page Token, Start At | issues, count, pagination |
| Get Issue | Issue Key or ID | issue, key |
| Create Issue | Project Key, Summary | issue, key |
| Update Issue | Issue Key or ID and at least one changed field | issue, key |
| Delete Issue | Issue Key or ID | deleted |
| Get Issue Changelog | Issue Key or ID; optional Limit, Start At | changelog, count, pagination |
| Notify Issue | Issue Key or ID, Subject, Text Body | notified |
| List Comments | Issue Key or ID; optional Limit, Start At | comments, count, pagination |
| Create Comment | Issue Key or ID, Comment Body | comment |
| Get Comment | Issue Key or ID, Comment ID | comment |
| Update Comment | Issue Key or ID, Comment ID, Comment Body | comment |
| Delete Comment | Issue Key or ID, Comment ID | deleted |
| Add Attachment | Issue Key or ID, Filename, Base64 content | attachments, count |
| Get Attachment | Attachment ID; optional Include Binary | attachment |
| List Attachments | Issue Key or ID; optional Limit, Start At, Include Binary | attachments, count, pagination |
| Delete Attachment | Attachment ID | deleted |
| List Transitions | Issue Key or ID | transitions, count |
| Transition Issue | Issue Key or ID, Transition ID | transition, issue, key |
| Get User | Account ID / Username | user |
| Create User | User Email | user |
| Delete User | Account ID / Username | deleted |
Expression-capable text fields support expressions such as $input.text. jiraIncludeBinary is a boolean toggle and does not support expressions, but it can be marked as agent-provided when the Jira node is attached to an Agent tool handle.
Issue and update fields
- Project Key is the short project key such as
ENG. Use List Projects to discover keys. - Issue Key or ID accepts keys such as
ENG-123or numeric issue IDs. Use Search Issues or List Projects to discover values. - Transition ID comes from List Transitions. Each transition object includes an
idfield. - Comment ID and Attachment ID come from List Comments, List Attachments, or prior create/get responses.
- Account ID / Username is the Jira Cloud
accountIdvalue or the Jira Data Center / Server username. Get Myself or Get User can help you discover it. - Issue description and comment body text are sent as Atlassian Document Format on REST API v3; when the credential deployment is Data Center / Server, they are sent as plain text. In v3, newline characters become separate paragraphs.
- Get Issue Changelog uses Jira Cloud's paginated changelog endpoint. For Data Center / Server, it reads expanded issue changelog data and applies the configured offset/limit to the returned histories.
- On Update Issue, leave optional fields empty to preserve their current values.
- Set Description or Assignee Account ID / Username to
nullon update to clear those fields. Labels cannot be cleared withnull. - Recipients JSON on Notify Issue defaults to
{"assignee":true}when omitted. Common keys includeassignee,reporter,watchers, andvoters(for example{"assignee":true,"watchers":true}). - Add Attachment accepts raw base64 or data URL content and is limited by the platform file size setting (default 99 MB).
Pagination
- Search Issues uses cursor pagination via
jiraNextPageTokenfor Jira Cloud. Readpagination.nextPageTokenfrom the previous run and pass it into the next Search Issues node. - Search Issues uses offset pagination via
jiraStartAtfor Jira Data Center / Server. Readpagination.startAt,pagination.maxResults, andpagination.totalto calculate the next page. - List Projects, Get Issue Changelog, List Comments, and List Attachments use offset pagination with
jiraLimitandjiraStartAt. Paged results returnpagination.startAt,pagination.maxResults,pagination.total, andpagination.isLast. - List Attachments fetches all attachments from the issue first, then slices the result client-side. Pagination fields still describe the returned page, but large issues may incur an extra fetch cost.
- List Transitions does not paginate.
Key Fields
| Field | Used by | Notes |
|---|---|---|
credentialId | All operations | Owned Jira credential UUID |
jiraOperation | All operations | Defaults to searchIssues |
jiraProjectKey | Create Issue | Project key such as ENG |
jiraIssueKey | Issue, comment, attachment, notification, and transition operations | Issue key such as ENG-123 or numeric issue ID |
jiraIssueType | Create Issue | Defaults to Task |
jiraIssueTypeId | Create Issue | Optional issue type ID; overrides jiraIssueType when set |
jiraSummary | Create/Update Issue | Required for Create Issue |
jiraDescription | Create/Update Issue | Sent as ADF on REST API v3 or plain text on REST API v2; use null on update to clear description |
jiraJql | Search Issues | Defaults to updated >= -30d ORDER BY updated DESC |
jiraFields | Search Issues | Optional JSON array or comma-separated issue fields; defaults to key, summary, status, assignee, and issuetype when empty |
jiraAssigneeAccountId | Create/Update Issue | Jira Cloud accountId or Data Center / Server username; use null on update to clear assignee |
jiraLabels | Create/Update Issue | JSON array or comma-separated text |
jiraCommentBody | Create/Update Comment | Sent as ADF on REST API v3 or plain text on REST API v2 |
jiraCommentId | Get/Update/Delete Comment | Jira comment ID |
jiraTransitionId | Transition Issue | Discover with List Transitions |
jiraAttachmentId | Get/Delete Attachment | Jira attachment ID |
jiraAttachmentFilename | Add Attachment | Uploaded filename |
jiraAttachmentBase64 | Add Attachment | Raw base64 or data URL content; subject to file size limit |
jiraAttachmentMimeType | Add Attachment | Optional MIME type; inferred from filename when empty |
jiraIncludeBinary | Get/List Attachment | Boolean toggle; adds content_base64 when enabled |
jiraNotifySubject | Notify Issue | Required notification subject |
jiraNotifyTextBody | Notify Issue | Required plain-text notification body |
jiraNotifyHtmlBody | Notify Issue | Optional HTML body |
jiraNotifyTo | Notify Issue | Recipients JSON; defaults to {"assignee":true} |
jiraAccountId | Get/Delete User | Jira Cloud accountId or Data Center / Server username |
jiraUserEmail | Create User | New user email address |
jiraUsername | Create User | Optional Data Center / Server username; falls back to jiraUserEmail |
jiraUserDisplayName | Create User | Optional display name |
jiraUserProducts | Create User | JSON array or comma-separated product keys; Jira Cloud only |
jiraLimit | Search Issues, List Projects, Get Issue Changelog, List Comments, List Attachments | Defaults to 50; range 1–100 |
jiraStartAt | Search Issues on Data Center / Server, List Projects, Get Issue Changelog, List Comments, List Attachments | Offset pagination start index |
jiraNextPageToken | Search Issues on Jira Cloud | Cursor token from a previous search response |
Examples
Create an issue from upstream input:
- Operation:
createIssue - Project Key:
ENG - Issue Type:
Task - Summary:
$input.title - Description:
$input.description - Labels:
["automation"]
Update an issue and clear the assignee:
- Operation:
updateIssue - Issue Key or ID:
ENG-123 - Summary:
$input.title - Assignee Account ID / Username:
null
Search issues with custom fields and cursor pagination:
- Operation:
searchIssues - JQL:
project = ENG AND updated >= -30d ORDER BY updated DESC - Issue Fields:
["key","summary","status"] - Limit:
25 - Next Page Token:
$searchJira.pagination.nextPageToken
Search issues on Data Center with offset pagination:
- Operation:
searchIssues - JQL:
project = ENG ORDER BY updated DESC - Limit:
25 - Start At:
25
Transition an issue after listing available transitions:
- Operation:
listTransitions - Issue Key or ID:
ENG-123 - Then run Transition Issue with Transition ID:
$listTransitions.transitions[0].id
Notify watchers about an issue update:
- Operation:
notifyIssue - Issue Key or ID:
ENG-123 - Subject:
Issue updated - Text Body:
$input.text - Recipients JSON:
{"assignee":true,"watchers":true}
Output
Every successful operation sets:
$jira.success$jira.operation
Get Myself exposes user.
Paginated list operations expose count, a collection field, and pagination:
| Operation | Collection key | Pagination shape |
|---|---|---|
| List Projects | projects | { startAt, maxResults, total, isLast } |
| Search Issues | issues | Cloud: { maxResults, nextPageToken, isLast }; Data Center: { startAt, maxResults, total, isLast } |
| Get Issue Changelog | changelog | { startAt, maxResults, total, isLast } |
| List Comments | comments | { startAt, maxResults, total, isLast } |
| List Attachments | attachments | { startAt, maxResults, total, isLast } |
List Transitions exposes transitions and count without pagination.
Issue mutations and reads expose the Jira issue payload plus key where applicable.
Comment get/create/update expose comment; delete exposes deleted.
Transition Issue exposes transition as { transitionId }, plus the refreshed issue and key.
Attachment add exposes attachments and count. Get Attachment exposes attachment; List Attachments exposes attachments, count, and pagination. When Include Binary is enabled, each attachment object may include content_base64. Delete exposes deleted.
User get/create expose user; delete exposes deleted.
Notify Issue exposes notified.
Common access patterns:
$searchJira.issues[0].key$searchJira.pagination.nextPageToken$createJiraIssue.key$listTransitions.transitions[0].id$getAttachment.attachment.content_base64