Resources · n8n integration

Jira Software n8n integrationAutomate Jira Software with n8n.

Every question about the Jira Software n8n integration, answered on one page. The node covers 20 operations across 4 resources: issues, attachments, comments and users. The Jira Trigger listens to 39 events, from jira:issue_created to sprint and worklog changes. Written for teams whose backlog lives in Jira.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the Jira Software n8n integration actually cover?

Two nodes, one credential. The Jira node calls the Jira API for you, with 20 operations spread over issues, issue attachments, issue comments and users. The Jira Trigger starts a workflow when Jira fires one of its 39 events, from an issue created to a sprint closed. Both ship with n8n, on n8n Cloud and on a self-hosted instance, so there is nothing to install.

Start with the shape most teams build first: triage. Something arrives, a form answer or a row in Google Sheets, issue.create files it in the right project, and issueComment.add posts the triage note underneath so the assignee reads the reasoning instead of a bare title.

Second shape: the release recap. The trigger hears jira:version_released, issue.getAll pulls every issue matching a JQL query, and the list goes out as one message in Slack. JQL is Jira's query language, the same syntax the issue search box takes.

Third shape: the round trip with code. A merged pull request in GitHub moves the ticket forward, because issue.update carries a Status field, and a comment records the change. The trigger does the return leg: jira:issue_updated wakes a workflow when a human edits the ticket by hand.

The node stops at 4 resources. Its trigger hears board, project and sprint events, but there is no board, project or sprint operation to act on them, so creating a sprint or renaming a board goes through the HTTP Request node, which calls any Jira endpoint while reusing the same stored connection.

Two limits are worth knowing before building. Moving a ticket through its workflow has no operation of its own: issue.update carries a Status field, and that is the route. And every list operation returns a first page only, unless Return All is switched on, so an export that comes back short is usually a Limit nobody touched. If n8n itself is the new part of the puzzle, the n8n training and the n8n review cover the platform beyond this node.

Connect

How do you connect Jira to n8n?

  1. 01

    Pick an authentication method

    A credential is the connection to Jira that n8n stores once, in the Credentials menu, and every workflow reuses from a dropdown. Three kinds work here. SW Cloud API token and SW Cloud OAuth2 both target Jira Software Cloud. SW Server account targets Jira Software Server and asks for the Email on the account, the Password and the Domain you reach Jira on.

  2. 02

    Create the API token in your Atlassian profile

    For the token route, open your Atlassian profile, go to Security then API tokens, select Create API Token, give it a Name such as n8n integration and an Expires on date, and copy the token while it is on screen. In n8n, fill Email with the address on the Jira account, API Token with what you copied, and Domain with the URL you use, for example https://example.atlassian.net.

  3. 03

    Or register an OAuth 2.0 app, then connect

    For OAuth2, create an OAuth 2.0 integration in the Atlassian Developer Console, add OAuth 2.0 (3LO) under Authorization, and paste the OAuth Redirect URL from n8n into Callback URL. Under Permissions, add Jira API and enable at least read:jira-user, read:jira-work, write:jira-work and manage:jira-webhook. Copy Client ID, Secret and Site URL into n8n, then select Connect to Jira SW Cloud.

Triggers

What can start a workflow from Jira?

Jira Trigger is the node that starts a workflow when something happens in Jira Software. It listens to 39 events, listed below by family. Pick one or several, activate the workflow: n8n registers the webhook on your Jira Software account.

What you see in n8n

Every event, by family

One row per object, one chip per action. The event to tick in the node is object.action; hover a chip to read exactly when it fires.

board_configuration_changed.*1
  • board_configuration_changed.
    • board_configuration_changed
board_created.*1
  • board_created.
    • board_created
board_deleted.*1
  • board_deleted.
    • board_deleted
board_updated.*1
  • board_updated.
    • board_updated
comment_created.*1
  • comment_created.
    • comment_created
comment_deleted.*1
  • comment_deleted.
    • comment_deleted
comment_updated.*1
  • comment_updated.
    • comment_updated
issuelink_created.*1
  • issuelink_created.
    • issuelink_created
issuelink_deleted.*1
  • issuelink_deleted.
    • issuelink_deleted
jira:issue_created.*1
  • jira:issue_created.
    • jira:issue_created
jira:issue_deleted.*1
  • jira:issue_deleted.
    • jira:issue_deleted
jira:issue_updated.*1
  • jira:issue_updated.
    • jira:issue_updated
jira:version_created.*1
  • jira:version_created.
    • jira:version_created
jira:version_deleted.*1
  • jira:version_deleted.
    • jira:version_deleted
jira:version_moved.*1
  • jira:version_moved.
    • jira:version_moved
jira:version_released.*1
  • jira:version_released.
    • jira:version_released
jira:version_unreleased.*1
  • jira:version_unreleased.
    • jira:version_unreleased
jira:version_updated.*1
  • jira:version_updated.
    • jira:version_updated
option_attachments_changed.*1
  • option_attachments_changed.
    • option_attachments_changed
option_issuelinks_changed.*1
  • option_issuelinks_changed.
    • option_issuelinks_changed
option_subtasks_changed.*1
  • option_subtasks_changed.
    • option_subtasks_changed
option_timetracking_changed.*1
  • option_timetracking_changed.
    • option_timetracking_changed
option_unassigned_issues_changed.*1
  • option_unassigned_issues_changed.
    • option_unassigned_issues_changed
option_voting_changed.*1
  • option_voting_changed.
    • option_voting_changed
option_watching_changed.*1
  • option_watching_changed.
    • option_watching_changed
project_created.*1
  • project_created.
    • project_created
project_deleted.*1
  • project_deleted.
    • project_deleted
project_updated.*1
  • project_updated.
    • project_updated
sprint_closed.*1
  • sprint_closed.
    • sprint_closed
sprint_created.*1
  • sprint_created.
    • sprint_created
sprint_deleted.*1
  • sprint_deleted.
    • sprint_deleted
sprint_started.*1
  • sprint_started.
    • sprint_started
sprint_updated.*1
  • sprint_updated.
    • sprint_updated
user_created.*1
  • user_created.
    • user_created
user_deleted.*1
  • user_deleted.
    • user_deleted
user_updated.*1
  • user_updated.
    • user_updated
worklog_created.*1
  • worklog_created.
    • worklog_created
worklog_deleted.*1
  • worklog_deleted.
    • worklog_deleted
worklog_updated.*1
  • worklog_updated.
    • worklog_updated

The trigger also accepts * (any event). Handy for logging, dangerous in production.

Configuration notes

01Set up the Jira TriggerThe trigger registers a webhook with Jira when you activate the workflow. A webhook is a URL that Jira calls by itself, so each event lands in n8n within seconds instead of waiting for a scheduled check.

The trigger registers a webhook with Jira when you activate the workflow. A webhook is a URL that Jira calls by itself, so each event lands in n8n within seconds instead of waiting for a scheduled check.

Key parameters

  • Events: the list of event names the workflow subscribes to; the wildcard * takes all 39 at once, which is handy for a first test and noisy afterwards.
  • Jira Version: Cloud or Server, matching the credential you selected.
  • Authenticate Webhook With: turns on authentication for the incoming call, which makes the webhook harder to reach from outside.
  • Filter: in Additional Fields, a JQL query that limits which issues fire events; on Cloud OAuth2, leaving it blank watches every project the credential can reach.
  • Exclude Body: leave it unchecked to receive the JSON payload, since checked it sends an empty body.
When to use it
any time Jira is the starting point rather than the destination.
02Issue and issue link eventsThe busiest group, and the one most workflows subscribe to first. jira:issue_created fires when a ticket is filed, jira:issue_updated on any edit to it, jira:issue_deleted when it disappears. Two more cover the relations between tickets: issuelink_created and issuelink_deleted, which fire when a dependency is drawn between two issues or removed. Together they describe the life of a ticket, from filed to linked to gone.

The busiest group, and the one most workflows subscribe to first. jira:issue_created fires when a ticket is filed, jira:issue_updated on any edit to it, jira:issue_deleted when it disappears. Two more cover the relations between tickets: issuelink_created and issuelink_deleted, which fire when a dependency is drawn between two issues or removed. Together they describe the life of a ticket, from filed to linked to gone.

Key parameters

  • Events: subscribe to the three issue events and skip the link events unless dependencies matter to the workflow.
  • Filter: a JQL query is the cheapest way to stop everything outside one project or one label from waking the workflow.
  • Include Fields: in Additional Fields, decides which issue fields ride along in the payload, so a workflow can branch without a second call.
Use cases
mirroring new bugs into a chat channel, or reacting to an update by reading the issue back with issue.get and branching on what changed.
03Comment and worklog eventsThese follow what people write and what they log. comment_created, comment_updated and comment_deleted track the discussion on a ticket. worklog_created, worklog_updated and worklog_deleted track the time entries attached to it. Neither group touches the issue fields, so a workflow listening here hears the conversation and the hours without the noise of every edit.

These follow what people write and what they log. comment_created, comment_updated and comment_deleted track the discussion on a ticket. worklog_created, worklog_updated and worklog_deleted track the time entries attached to it. Neither group touches the issue fields, so a workflow listening here hears the conversation and the hours without the noise of every edit.

Key parameters

  • Events: comment events pair naturally with issueComment.getAll when the whole thread matters, not just the last line.
  • Exclude Body: keep it unchecked here, because the comment text arrives in the JSON payload and a workflow that reads it needs the body.
Use cases
forwarding a customer reply posted as a comment, or pushing worklog entries into a billing sheet as they are logged.
04Sprint, board and version eventsThe agile side of the event list. Sprints fire sprint_created, sprint_started, sprint_updated, sprint_closed and sprint_deleted. Boards fire on creation, update, deletion and on board_configuration_changed. Versions cover the release cycle, with jira:version_released, jira:version_unreleased, jira:version_moved and their created, updated and deleted siblings. None of these has a matching operation on the node, so the workflow they start reads and writes issues, not sprints.

The agile side of the event list. Sprints fire sprint_created, sprint_started, sprint_updated, sprint_closed and sprint_deleted. Boards fire on creation, update, deletion and on board_configuration_changed. Versions cover the release cycle, with jira:version_released, jira:version_unreleased, jira:version_moved and their created, updated and deleted siblings. None of these has a matching operation on the node, so the workflow they start reads and writes issues, not sprints.

Key parameters

  • Events: sprint_closed and jira:version_released are the two that carry a reporting moment worth automating.
  • Jira Version: set it to the deployment the credential points at, since Cloud and Server are separate installations.
Use cases
building the release recap when a version ships, or archiving a sprint summary the moment it closes.
05Project, user and option eventsThe administrative tail of the list, quiet most weeks and useful when it fires. Projects report project_created, project_updated and project_deleted. Accounts report user_created, user_updated and user_deleted. Seven option events flag configuration changes, on attachments, issue links, subtasks, time tracking, unassigned issues, voting and watching. They are the ones that explain why a board behaved differently on Monday than it did on Friday.

The administrative tail of the list, quiet most weeks and useful when it fires. Projects report project_created, project_updated and project_deleted. Accounts report user_created, user_updated and user_deleted. Seven option events flag configuration changes, on attachments, issue links, subtasks, time tracking, unassigned issues, voting and watching. They are the ones that explain why a board behaved differently on Monday than it did on Friday.

Key parameters

  • Events: the option events are the ones to subscribe to when a setting changing without notice is the actual problem.
  • Authenticate Webhook With: worth enabling on this group, since the payloads describe how the instance is configured.
Use cases
logging every configuration change to an audit table, or starting an offboarding workflow from user_deleted.
Actions

What can the Jira node do in a workflow?

The Jira Software node exposes 20 operations across 4 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceCreateGetGet ManyUpdateDeleteAddRemoveChangelogNotifyStatus
Issue✓✓✓✓✓✓✓✓
Issue Attachment✓✓✓✓
Issue Comment✓✓✓✓✓
User✓✓✓

Issue

8 operations
01

Get an issue changelog

issue.changelog

What you see in n8n

Notes & use cases

Every edit made to a ticket leaves a line in its changelog, and this operation reads that history back into the workflow: which field moved, and when.

Key parameters

  • Issue Key: the reference as it reads in Jira, like OPS-12, often {{ $json.key }} when a trigger supplies it.
  • Return All: switched on, n8n walks every page of the history; switched off, Limit caps how many entries come back.
Use cases
measuring how long a ticket waited in each status, or finding the moment a priority was raised with nobody commenting on it.
02

Create an issue

issue.create

What you see in n8n

Notes & use cases

Files a new ticket and returns it with the key Jira just assigned, which the nodes downstream reuse to comment, attach or update.

Key parameters

  • Project: picked from the list or given by ID, it decides where the issue lands.
  • Issue Type: chosen the same way, from the types the project offers.
  • Summary: the single line that becomes the ticket title.
  • Additional Fields: where Description, Assignee, Priority, Parent Issue Key and Custom Fields live when a title is not enough.
Use cases
turning a support email or a form answer into a ticket nobody retypes by hand.
03

Delete an issue

issue.delete

What you see in n8n

Notes & use cases

Removes a ticket from Jira for good. The node makes the subtask question explicit instead of deciding for you.

Key parameters

  • Issue Key: the ticket that goes.
  • Delete Subtasks: required here, so the workflow states what happens to the children rather than leaving it to a default.
Use cases
cleaning up the duplicates a misconfigured workflow filed twice, reading the keys from a list and passing them through one at a time.
04

Get an issue

issue.get

What you see in n8n

Notes & use cases

Pulls one ticket back as JSON when the workflow only has its key to work from, which is the usual situation right after a webhook.

Key parameters

  • Issue Key: the key of the ticket to read.
  • Simplify: returns a trimmed response instead of the raw payload, which keeps later expressions readable.
  • Fields: in Additional Fields, a comma separated list to narrow the response; *all returns everything, and a field prefixed with a minus is excluded.
Use cases
enriching a Slack alert with the summary, the assignee and the status before posting it.
05

Get many issues

issue.getAll

What you see in n8n

Notes & use cases

Search, essentially. No key is required: the operation runs a query and returns every issue that matches it.

Key parameters

  • JQL: in Options, the Jira query language expression that defines the set, the same syntax as the search box in Jira.
  • Return All: on for a full export, off to stop at Limit.
  • Expand: adds blocks to each issue, such as changelog or transitions, when the list alone is too thin.
Use cases
a Monday digest of everything still open in a project, or a nightly sync of the backlog into a database.
06

Create an email notification for an issue

issue.notify

What you see in n8n

Notes & use cases

Jira sends the email itself here: the operation drops a notification about a ticket into Jira's mail queue, addressed to the people you name.

Key parameters

  • Issue Key: the ticket the email is about.
  • Notification Recipients: who receives it, through Reporter, Assignee, Watchers, Voters, User Names or IDs and Group Names or IDs, or as raw JSON when JSON Parameters is on.
  • Subject: in Additional Fields, next to Text Body and HTML Body; left empty, Jira uses the issue key and summary.
Use cases
warning watchers that a blocker was reopened, without building a mail step of your own.
07

Get the status of an issue

issue.transitions

What you see in n8n

Notes & use cases

Before moving a ticket, a workflow has to know where it is allowed to go. This returns the transitions available on the issue, given the status it sits in.

Key parameters

  • Issue Key: the ticket to inspect.
  • Transition ID: in Additional Fields, to ask about one transition instead of the full list.
  • Expand: accepts transitions.fields, which describes the fields on each transition screen, hidden ones excluded.
Use cases
branching an IF node on whether the target transition exists, so a workflow never tries a move the board forbids.
08

Update an issue

issue.update

What you see in n8n

Notes & use cases

Edits a ticket field by field and leaves everything else untouched, which makes it safe to run on issues people are working in.

Key parameters

  • Issue Key: the ticket to edit.
  • Update Fields: the collection holding Summary, Description, Assignee, Priority, Labels, Issue Type, Parent Issue Key and Custom Fields.
  • Status: also in Update Fields, and this is how a workflow moves a ticket along, since the node has no separate transition operation.
Use cases
reassigning stale tickets in bulk, or setting the status from a deployment pipeline.

Issue Attachment

4 operations
09

Add an attachment to an issue

issueAttachment.add

What you see in n8n

Notes & use cases

Files travel through n8n as binary data, and this operation pushes one of them onto a ticket.

Key parameters

  • Issue Key: the ticket that receives the file.
  • Input Binary Field: the name of the binary field on the incoming item that holds the file, as the node before it named the field.
Use cases
attaching the generated PDF of a customer report to the ticket that asked for it, or storing a log file next to the bug it documents.
10

Get an attachment from an issue

issueAttachment.get

What you see in n8n

Notes & use cases

Retrieves a single attachment by its own identifier, so the ticket it hangs on never enters the call.

Key parameters

  • Attachment ID: the ID of the attachment, usually carried over from an earlier step.
  • Download: required, and it goes hand in hand with the output field below.
  • Put Output File in Field: the name of the output binary field the file is placed in.
Use cases
fetching the one screenshot a reviewer asked about, then forwarding it without touching the rest of the ticket.
11

Get many issue attachments

issueAttachment.getAll

What you see in n8n

Notes & use cases

Works from the ticket instead of the file: everything attached to the issue comes back in one call.

Key parameters

  • Issue Key: the ticket whose attachments are listed.
  • Download and Put Output File in Field: both required, the second naming the output binary field the files land in.
  • Return All: on to take the whole set, off to stop at Limit.
Use cases
archiving the evidence on a closed incident into long term storage before the ticket is deleted.
12

Remove an attachment from an issue

issueAttachment.remove

What you see in n8n

Notes & use cases

Deletes one file and asks for nothing else: the identifier of the attachment is the whole call, and the ticket it belonged to stays where it is.

Key parameters

  • Attachment ID: the ID of the attachment to remove.
Use cases
stripping a file that landed on the wrong ticket, or clearing the screenshots that carry customer data once an incident is closed and the report has been written elsewhere.

Issue Comment

5 operations
13

Add a comment

issueComment.add

What you see in n8n

Notes & use cases

Comments are where an automation talks back to the people on the ticket. This posts one under the issue.

Key parameters

  • Issue Key: the ticket the comment belongs to.
  • Comment: the text itself.
  • Document Format (JSON): with JSON Parameters on, the body goes in as Atlassian Document Format instead of plain text.
  • Use Wiki Markup: in Options, parses wiki formatting in the comment; it is false unless you set it.
Use cases
posting the classification an AI step produced, so the assignee sees why the ticket was routed their way.
14

Get a comment

issueComment.get

What you see in n8n

Notes & use cases

Reads one comment back, which takes both identifiers: the ticket, then the comment inside it.

Key parameters

  • Issue Key: the ID or key of the issue holding the comment.
  • Comment ID: the ID of the comment to read.
  • Expand: in Options, accepts Rendered Body, which returns the comment rendered in HTML rather than as stored.
Use cases
reading back the comment a webhook just announced, when the payload carries the identifier but not the text you need.
15

Get many comments

issueComment.getAll

What you see in n8n

Notes & use cases

Returns the whole discussion on a ticket in one array, which is what a summary step needs to work from.

Key parameters

  • Issue Key: the ID or key of the issue whose thread is read.
  • Order By: Created Ascending or Created Descending, so the newest reply is either first or last.
  • Return All: on for a long thread, off to stop at Limit.
Use cases
feeding an entire support conversation to a model that writes the resolution note at the end.
16

Remove a comment

issueComment.remove

What you see in n8n

Notes & use cases

Takes a comment off a ticket permanently. Unlike the attachment version, it needs both identifiers to find what to remove.

Key parameters

  • Issue Key: the ID or key of the issue.
  • Comment ID: the ID of the comment to remove.
Use cases
deleting the automated update a workflow posted before anyone noticed it carried the wrong customer name, or pruning the status comments a retry loop left behind.
17

Update a comment

issueComment.update

What you see in n8n

Notes & use cases

Rewrites a comment in place, which keeps a thread readable when a status line is refreshed several times a day instead of stacked.

Key parameters

  • Comment ID: the comment to rewrite, alongside the Issue Key it sits under.
  • Comment: the replacement text.
  • Document Format (JSON): the Atlassian Document Format alternative, used when JSON Parameters is on.
Use cases
keeping one live deployment status comment on the release ticket, updated at each stage.

User

3 operations
18

Create a user

user.create

What you see in n8n

Notes & use cases

Onboarding can finish inside Jira: the node creates the account rather than leaving it on an admin checklist.

Key parameters

  • Username, Email Address and Display Name: the three required fields.
  • Password: in Additional Fields; left empty, a random password is generated.
  • Notification: sends the person the email confirming they were added to Jira.
Use cases
creating the Jira account on the day a hire is added to the HR tool. On Cloud OAuth2 this operation needs the manage:jira-configuration scope, which the default set leaves out.
19

Delete a user

user.delete

What you see in n8n

Notes & use cases

The mirror image of onboarding, with one surprise: no field is required, and the account is identified by an optional one.

Key parameters

  • Account ID: the account ID of the user to delete, the only field the operation reads.
Use cases
closing the Jira account as part of an offboarding run, once the tickets have been reassigned. Like user creation, it needs the manage:jira-configuration scope on an OAuth2 credential.
20

Get a user

user.get

What you see in n8n

Notes & use cases

Turns an account ID into a person: the display name, the email and, on request, the groups behind it.

Key parameters

  • Account ID: the account ID of the user to retrieve.
  • Expand: in Additional Fields, groups adds every group the user belongs to, applicationRoles adds the applications they can access.
Use cases
resolving the assignee on a webhook payload into a name a chat message can address, or checking group membership before a workflow grants something.
Need help

Need help automating Jira Software with n8n?

A person reads every message.

FAQ

Jira and n8n, the questions that come up next

01Is the Jira Software n8n integration free?
Nothing to pay on the n8n side. Both the Jira node and the Jira Trigger are bundled with n8n, so no plugin is installed and no add-on is bought, on n8n Cloud as on an instance you host yourself under the Community Edition and its Sustainable Use licence. A workflow written on one runs on the other without edits. What Jira itself costs depends on your Atlassian plan, and this page leaves that question alone. Once a credential exists it is reused: the second and third Jira workflow cost no extra setup, since the connection is stored once and picked from a dropdown.
02What credentials does n8n need for Jira?
It depends on which of the three methods you pick. SW Cloud API token asks for the Email on your Atlassian account, an API Token created from your profile under Security, and the Domain you reach Jira on. SW Cloud OAuth2 asks for a Client ID, a Secret and a Site URL from an app in the Atlassian Developer Console, with read:jira-user, read:jira-work, write:jira-work and manage:jira-webhook enabled at minimum; it also requests offline_access, which Atlassian grants automatically so the token refreshes without a new sign-in. Creating or deleting users needs manage:jira-configuration on top, added through Custom Scopes. SW Server account takes an Email, a Password and a Domain.
03What are the limits of the Jira node in n8n?
The node stays inside 4 resources: issues, issue attachments, issue comments and users. That is 20 operations in total, and everything outside them is out of scope. The trigger hears board, project and sprint events, but no operation creates or edits a board, a project or a sprint, so those calls go to the HTTP Request node, which reaches any Jira endpoint with the same stored connection. There is no dedicated transition operation either: moving a ticket through its workflow means using Update an issue and setting Status. On list operations, remember that Return All is what pages through the API, otherwise you get up to Limit.
04Does the Jira Trigger react in real time?
Yes. The trigger works by webhook, which means n8n registers a URL with Jira when you activate the workflow, and Jira calls that URL as things happen. Events reach n8n within seconds, and nothing is checked on a timer. The Events parameter decides what you subscribe to, from a single event up to the wildcard that takes all 39. Two settings shape what arrives: Filter takes a JQL query that limits which issues fire events at all, and Exclude Body has to stay unchecked for the JSON payload to reach the workflow. Authenticate Webhook With adds authentication on the incoming call.
05n8n or Make for Jira automation?
It depends on where you want the workflows to run and how you want to pay for them. n8n can be self-hosted with Docker or npm, which keeps Jira payloads on infrastructure you control, and it also exists as n8n Cloud if you would rather not run it. Make is hosted only, with no self-hosting option, and bills per operation, which is predictable for small volumes and less so for a busy trigger. Both build workflows visually. If Jira events fire constantly, or if the data in your tickets cannot leave a given perimeter, that tips the decision toward n8n. Otherwise the choice comes down to habit and pricing.