Jira (Atlassian)
Overview
Section titled “Overview”The Jira nodes connect your workflows to Jira Cloud through its REST API v3. Use them to automate issue management: open a ticket when a form comes in, comment when a status changes, search issues by JQL, or move an issue across columns.
There are six nodes, one per operation:
| Node | Operation | HTTP method |
|---|---|---|
Jira: Create issue (jiraCreateIssue) | Create an issue | POST /issue |
Jira: Get issue (jiraGetIssue) | Read an issue by its key | GET /issue/{key} |
Jira: Update issue (jiraUpdateIssue) | Update fields | PUT /issue/{key} |
Jira: Search (JQL) (jiraSearchIssues) | Search by JQL | POST /search/jql |
Jira: Add comment (jiraAddComment) | Add a comment | POST /issue/{key}/comment |
Jira: Transition (jiraTransitionIssue) | Run a transition | POST /issue/{key}/transitions |
Credential
Section titled “Credential”The nodes use a Jira (Atlassian) credential. Create it in Credentials → Add → Jira (Atlassian) with these fields:
| Field | Description |
|---|---|
| Your Jira URL | Your Atlassian site URL, no trailing slash (e.g. https://your-domain.atlassian.net). The node appends /rest/api/3 automatically. |
| Account email | The email of the Atlassian account that owns the API token. |
| API token | Create one at id.atlassian.com → Security → API tokens. Never shown in logs. |
Authentication is Basic (email:api_token). You can verify the credential with the Test button, which calls GET /myself.
Important: ADF format
Section titled “Important: ADF format”Jira’s API v3 requires rich-text fields (description and comments) to be sent in Atlassian Document Format (ADF, a JSON structure), not plain text. The nodes convert your text to ADF automatically — you type normal text (line breaks allowed) and the node handles the rest.
Jira: Create issue (jiraCreateIssue)
Section titled “Jira: Create issue (jiraCreateIssue)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | Jira credential |
| project_key | text | Yes | Project key (e.g. OPS) |
| issue_type | text | No | Type (Task, Bug, Story…). Defaults to Task |
| summary | text | Yes | Issue summary |
| description | text | No | Description (converted to ADF) |
| extra_fields | JSON | No | Extra fields, e.g. {"priority":{"name":"High"}} |
Output: the object returned by Jira, including key (e.g. OPS-123) and id.
Jira: Get issue (jiraGetIssue)
Section titled “Jira: Get issue (jiraGetIssue)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | Jira credential |
| issue_key | text | Yes | Issue key (e.g. OPS-123) |
| fields | text | No | Comma-separated fields to return |
Jira: Update issue (jiraUpdateIssue)
Section titled “Jira: Update issue (jiraUpdateIssue)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | Jira credential |
| issue_key | text | Yes | Issue key |
| fields | JSON | Yes | Fields to update, e.g. {"summary":"New title"} |
If you include description as plain text inside fields, it is converted to ADF automatically.
Jira: Search (JQL) (jiraSearchIssues)
Section titled “Jira: Search (JQL) (jiraSearchIssues)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | Jira credential |
| jql | text | Yes | JQL query (e.g. project = OPS AND status = "To Do") |
| max_results | number | No | Max results (defaults to 50) |
| fields | text | No | Comma-separated fields to return |
Output: the array of issues matching the query.
Jira: Add comment (jiraAddComment)
Section titled “Jira: Add comment (jiraAddComment)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | Jira credential |
| issue_key | text | Yes | Issue key |
| comment | text | Yes | Comment text (converted to ADF) |
Jira: Transition (jiraTransitionIssue)
Section titled “Jira: Transition (jiraTransitionIssue)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | Jira credential |
| issue_key | text | Yes | Issue key |
| transition | text | Yes | Transition id (e.g. 31) or name (e.g. In Progress) |
Example
Section titled “Example”Create a bug in the OPS project with the title coming from a form:
- Node: Jira: Create issue
- project_key:
OPS - issue_type:
Bug - summary:
{{data.subject}} - description:
{{data.details}}
Output:
{ "id": "10042", "key": "OPS-123", "self": "https://your-domain.atlassian.net/rest/api/3/issue/10042"}Error handling
Section titled “Error handling”Each node classifies errors so the engine knows whether a retry makes sense:
| Situation | Retryable | What to do |
|---|---|---|
| Validation (400/422) | No | Jira returns the reason (e.g. required field or unknown issue type). Fix the data. |
| Not found (404) | No | The issue or project doesn’t exist. Check the key. |
| Authentication (401/403) | No | Invalid email or API token, or no permission on the project. Check the credential. |
| Server (500) | Yes | Temporary Jira error; retried automatically. |
| Rate limit (429) | Yes | Jira’s Retry-After is honored and retried. |
| Network / Timeout | Yes | Transient issue; retried automatically. |
See also
Section titled “See also”- Asana — the equivalent for task and project management.
- Retry queue (DLQ) — how failed executions are retried.
- HTTP node — for Jira endpoints not covered by these nodes.