Skip to content

Jira

Integration with Jira Cloud through the Atlassian REST API v3. The family covers the issue lifecycle: create, read, update fields, search with JQL, add comments and move an issue across the board with a transition.

Authentication is handled by the credentials module (provider jira), using Basic auth built from your account email and an API token. The node appends /rest/api/3 to your site URL automatically, so you only store the base domain.

NodeInternal nameHTTP call
Jira: Create issuejiraCreateIssuePOST /issue
Jira: Get issuejiraGetIssueGET /issue/{key}
Jira: Update issuejiraUpdateIssuePUT /issue/{key}
Jira: Search (JQL)jiraSearchIssuesPOST /search/jql
Jira: TransitionjiraTransitionIssuePOST /issue/{key}/transitions
Jira: Add commentjiraAddCommentPOST /issue/{key}/comment

Every node in the family shares one parameter; the rest are documented on each operation page.

ParameterTypeRequiredDescription
credentials_idcredentialsYesJira credential (provider jira)

Provider: jira. Create it in Credentials → Add → Jira (Atlassian).

FieldDescription
base_urlYour Atlassian site URL, no trailing slash (e.g. https://your-domain.atlassian.net). The node appends /rest/api/3.
emailEmail of the Atlassian account that owns the API token.
api_tokenToken created at id.atlassian.com → Security → API tokens. Masked in logs.
timeoutOptional. Request timeout in milliseconds (default 20000).

Authentication is Basic — the node builds Basic base64(email:api_token). The Test button calls GET /myself and returns the display name of the authenticated account.

Jira’s API v3 requires rich-text fields (description and comment bodies) to be sent in Atlassian Document Format — a JSON structure, not a plain string. The nodes convert your text to ADF automatically: you type normal text (line breaks become separate paragraphs) and the node builds the JSON.

This applies to description in Create issue, description inside the fields JSON of Update issue, and comment in Add comment.

Each node returns the Jira payload in data, plus a _meta object with the module version and timing:

{
"data": { "id": "10042", "key": "OPS-123", "self": "https://your-domain.atlassian.net/rest/api/3/issue/10042" },
"_meta": { "moduleVersion": "1.0.0", "success": true, "key": "OPS-123", "id": "10042", "totalMs": 412 }
}

On failure the node stops the branch and returns an error object instead:

{
"data": {},
"error": { "message": "Field 'summary' is required.", "type": "validation", "status": 400 }
}
  • Dynamic variables such as {{data.subject}} are resolved in the text parameters: project_key, summary, description, issue_key, jql, transition and comment. They are not resolved inside JSON parameters (extra_fields, fields) nor in the comma-separated field lists.
  • Retries are automatic and capped at 3 attempts with exponential backoff for network errors, timeouts, 429 (honouring Retry-After) and 5xx. Validation, 404 and authentication errors are not retried.
  • The default request timeout is 20 seconds; raise it with the timeout field in the credential.
  • The API token is never written in full to the logs — only a masked form such as abcd…wxyz.