Menu

Mattering Automations Jira integration

Connect Jira Cloud to Mattering Automations: issues, JQL search, comments, worklogs, transitions, links, projects, versions, users, boards, and sprints as workflow steps, authenticated with an Atlassian account email and an API token.

The Mattering Automations Jira integration adds Jira Cloud to your automation canvas: create, read, update, assign, and transition issues, search with JQL, manage comments, worklogs, watchers, and issue links, administer projects, versions, and components, look up users, fields, and statuses, and drive boards, sprints, epics, and the backlog.

Setup takes a few minutes: create an API token on your Atlassian account, attach it as a credential in Mattering with your account email, put your site URL on each node, and run one read only node to confirm it works. This guide walks through each step and ends with the full node reference.

Before you start

  • A Jira Cloud site you can sign in to, and the URL you sign in at, for example https://acme.atlassian.net. Jira Cloud has no shared API host, so every node needs it.
  • An Atlassian account whose Jira permissions match what the automations should be able to do. An API token carries that account's permissions exactly, with no separate scoping.
  • Permission to create an API token on that account at id.atlassian.com.
  • A Mattering workspace with access to the Automations app.
  • For the board, sprint, epic, and backlog nodes: a Jira Software licence on the site. Those 18 nodes call the Jira Software API and have nothing to talk to on a Jira Work Management only site.

Create an Atlassian API token

Mattering authenticates to Jira with HTTP Basic auth built from two values: your Atlassian account email address and an API token issued for that account. Atlassian deprecated password authentication for the REST API, so an Atlassian password will not work here, and this is not a bearer token.

Sign in to Atlassian and open Account settings, then Security, then API tokens (id.atlassian.com/manage-profile/security/api-tokens).
Click Create API token, give it a label that says where it is used, such as Mattering Automations, and set an expiry if your policy calls for one.
Copy the token.
Atlassian shows the token once. Copy it before you close the dialog; if you lose it, revoke that token and create another. The token also inherits every Jira permission the account has, so treat it as being as powerful as the person it belongs to.
Note the email address of that Atlassian account. The credential needs both halves, and they have to belong to the same account.
Note your site URL: the host you sign in at, such as https://acme.atlassian.net. A custom domain on Jira Cloud works too.

Connect Jira to Mattering

In Mattering Automations, open Connectors and click Add Connector.
Choose Jira from the list.
Click Create new credential. Jira uses the generic basic auth credential type, which has two fields: put your Atlassian account email in Username and the API token in Password, then save.
The credential is stored encrypted in Google Secret Manager and never appears in workflow logs. Mattering combines the two fields into the Authorization header Atlassian documents; you never encode anything yourself.
Click Connect. All 93 Jira nodes appear in your canvas palette.
Every Jira node has a required Site URL field. Type the host you sign in at, such as https://acme.atlassian.net. It lives on the node rather than on the credential because Jira Cloud serves each customer from their own host, and because one credential can then drive two sites, for example a production site and a sandbox, from the same canvas. The field accepts a bare host, a trailing slash, or a full URL with a path, and normalizes it.

Verify it works

This connector has no Test Connection button. That test sends a plain request to one fixed URL, and Jira Cloud has no fixed host to send it to, so it could not tell you anything. Verify by running a node instead.

Open any automation canvas and check the palette: a Jira section should list the query and action nodes. Drop Jira: Get Current User onto the canvas, fill in Site URL, leave everything else empty, and run a test step. It is a safe read that needs no other input, so a successful response returns the account the token belongs to: account id, display name, email, and time zone. Check that it is the account you meant to automate as, because every other node acts as that user.

To confirm project access, add Jira: Search Projects and run it. A successful response lists the projects that account can see, with their ids and keys. Note the key of the project you want to automate: most issue nodes want it, and project keys are case sensitive.

For a full round trip, add Jira: Search Issues with JQL with a bounded query such as project = ABC ORDER BY updated DESC. JQL here has to be bounded, meaning it carries at least one filter such as a project or an updated clause, and paging uses the nextPageToken from the previous response rather than an offset.

Node reference

93 nodes, generated from the connector itself so this reference always matches what ships.

Read and query nodes 59

Jira: Count Issues Matching JQL

jira_count_issues

Get an approximate count of the issues matching a JQL query without fetching them. Much cheaper than a search when you only need the number.

Jira: Find Assignable Users

jira_find_assignable_users

Find users who can actually be assigned to an issue or in a project. Safer than a plain user search, because not every user is assignable everywhere.

Jira: Get Attachment Details

jira_get_attachment

Get the metadata for one attachment: filename, size, MIME type, author, and the URL its content lives at. The file itself is not returned.

Jira: Get Attachment Settings

jira_get_attachment_settings

Check whether attachments are enabled on the site and what the maximum upload size is, in bytes.

Jira: Get Board

jira_get_board

Get one board by id, with its type and the project or user it lives in.

Jira: Get Board Configuration

jira_get_board_configuration

Get a board's columns, the statuses mapped to each, its filter, and its estimation field. This is how you learn what Done means on that board.

Jira: Get Comment

jira_get_comment

Get a single comment on an issue by its id, including author, body, and visibility restrictions.

Jira: Get Component

jira_get_component

Get one component by id, including its project, lead, and assignee rule.

Jira: Get Current User

jira_get_myself

Get the Atlassian account the API token belongs to: account id, display name, email, and time zone. Use this to confirm the credential works.

Jira: Get Editable Fields for Issue

jira_get_issue_edit_meta

List the fields on an issue that the credential can actually edit, with their allowed values. Read this before building an Update Issue body against an unfamiliar project.

Jira: Get Epic

jira_get_epic

Get one epic by id or key. Gotcha: this endpoint does not work for epics in team managed projects, use Get Issue there instead.

Jira: Get Filter

jira_get_filter

Get one saved filter by id, including its JQL, owner, and share permissions.

Jira: Get Issue

jira_get_issue

Get one issue by id or key, for example EX-1. Set fields to a short list to keep the response small, because the default returns every field including custom fields.

Jira: Get Issue History

jira_get_issue_changelog

Get the field change history of an issue, oldest first, with the author and the before and after values of each change.

Jira: Get Issue Link

jira_get_issue_link

Get one issue link by id, including both linked issues and the direction of the relationship.

Jira: Get Issues in Bulk

jira_bulk_get_issues

Fetch up to 100 issues by id or key in one request. Issues that could not be read come back in issueErrors rather than failing the call.

Jira: Get JQL Reference Data

jira_get_jql_reference_data

Get every field name, operator, and function that JQL accepts on this site, plus the reserved words. This is the vocabulary an agent needs to write valid JQL for a specific site.

Jira: Get Project

jira_get_project

Get one project by id or key, including its lead, type, and URL. Project keys are case sensitive.

Jira: Get Site Info

jira_get_server_info

Get information about the Jira site itself: base URL, version, build number, server time, and time zone.

Jira: Get Sprint

jira_get_sprint

Get one sprint by id, with its state, goal, and start and end dates.

Jira: Get User

jira_get_user

Get one user by Atlassian account id. Email may be hidden depending on that user's privacy settings.

Jira: Get Version

jira_get_version

Get one version by id, including whether it is released, archived, or overdue.

Jira: List All Users

jira_get_all_users

List every user on the site, active and inactive, page by page. Capped at 1000 per page and needs the Browse Users and Groups permission.

Jira: List Available Transitions

jira_get_transitions

List the workflow transitions the issue can take right now, with their ids and target statuses. Transition ids are workflow specific, so read them here before moving an issue.

Jira: List Board Backlog

jira_get_board_backlog

List the backlog of a board, meaning incomplete issues not in any active or future sprint. Paging uses nextPageToken.

Jira: List Board Epics

jira_get_board_epics

List the epics on a board, with their colour and done state.

Jira: List Board Issues

jira_get_board_issues

List the issues on a board, including Jira Software fields such as sprint and epic. Paging uses nextPageToken, not startAt.

Jira: List Board Projects

jira_get_board_projects

List the projects a board draws issues from. A board can span several projects when its filter allows it.

Jira: List Board Sprints

jira_get_board_sprints

List the sprints on a board. Filter by state to get just the active one, which is the usual starting point for a standup automation.

Jira: List Boards

jira_get_boards

List the Jira Software boards the credential can view, optionally filtered by type or project. Requires a Jira Software licence on the site.

Jira: List Creatable Issue Types

jira_get_create_meta_issue_types

List the issue types the credential can create in a project, with their ids. Issue type ids differ per project, so read them here rather than assuming them.

Jira: List Epic Issues

jira_get_epic_issues

List the issues under an epic, ordered by rank. For team managed projects, search with JQL on parent instead.

Jira: List Fields

jira_get_fields

List every system and custom field on the site with its id, name, and JQL clause names. This is how you map a custom field name to its customfield_ id.

Jira: List Fields for New Issue

jira_get_create_meta_fields

List the fields available when creating one issue type in one project, including which are required and what values they accept. This is how you discover custom field ids.

Jira: List Groups for User

jira_get_user_groups

List the groups a user belongs to, by Atlassian account id. Useful for permission checks before an automation acts on someone's behalf.

Jira: List Issue Comments

jira_get_issue_comments

List the comments on an issue. Comment bodies come back as Atlassian Document Format, so expand renderedBody if you want HTML instead.

Jira: List Issue Link Types

jira_get_issue_link_types

List the link types configured on the site, such as Blocks or Duplicate, with their inward and outward wording. Needed before creating a link.

Jira: List Issue Types

jira_get_issue_types

List all issue types visible to the credential, across every project it can browse.

Jira: List Issue Types for Project

jira_get_project_issue_types

List the issue types in one project. Takes the numeric project id, not the project key.

Jira: List Issue Watchers

jira_get_issue_watchers

List who is watching an issue and how many watchers it has.

Jira: List Issue Worklogs

jira_get_issue_worklogs

List the time logged against an issue, oldest first. Time tracking has to be enabled on the site or this returns an error.

Jira: List Labels

jira_get_labels

List every label in use on the site, page by page. Labels are free text in Jira, so this is the only way to see what already exists.

Jira: List My Filters

jira_get_my_filters

List the filters owned by the credential's user, and optionally their favourites too.

Jira: List Priorities

jira_search_priorities

List the issue priorities on the site, optionally narrowed to the ones available in given projects.

Jira: List Project Components

jira_get_project_components

List every component in a project, with its lead and default assignee rule. Not paginated.

Jira: List Project Roles

jira_get_project_roles

List the project roles and the URL for each role's members. Roles are shared across all projects on a Jira Cloud site.

Jira: List Project Statuses

jira_get_project_statuses

List the valid statuses in a project, grouped by issue type. Statuses differ per issue type, which is why they are nested.

Jira: List Project Versions

jira_get_project_versions

List every version, meaning release, in a project with its release date and released flag. Not paginated.

Jira: List Recent Projects

jira_get_recent_projects

List up to 20 projects the credential's user viewed most recently. Handy as a cheap orientation call.

Jira: List Remote Links

jira_get_remote_issue_links

List the links from an issue to things outside Jira, such as a support ticket or a document.

Jira: List Resolutions

jira_search_resolutions

List the resolutions on the site, such as Done or Won't Do. Needed when a transition screen requires a resolution.

Jira: List Sprint Issues

jira_get_sprint_issues

List the issues in a sprint, ordered by rank, including Jira Software fields such as story points and flagged. Paging uses nextPageToken.

Jira: List Statuses

jira_get_statuses

List every status used by an active workflow on the site, with its status category.

Jira: Search Filters

jira_search_filters

Find saved filters by name, owner, or project. Expand jql if you want the query text, it is not included by default.

Jira: Search Issues with JQL

jira_search_issues

Search issues with a JQL query. Two gotchas: the query must be bounded, so include a filter such as project or updated, and paging uses nextPageToken from the previous response rather than an offset.

Jira: Search Issues with JQL, JSON Body

jira_search_issues_post

Same search as the JQL search node, but the query travels in a JSON body. Use this when the JQL or the field list is too long to fit in a URL.

Jira: Search Projects

jira_search_projects

List the projects the credential can see, with paging and filters. Use this rather than assuming project keys.

Jira: Search Users

jira_search_users

Find active users by name or email fragment. Needs the Browse Users and Groups permission, and returns account ids you can use to assign issues.

Jira: Validate JQL Query

jira_parse_jql

Parse and validate JQL queries before running them, returning the parsed structure or the errors. Useful when an agent composes JQL and you want to fail early instead of on the search.

Action nodes 34

Jira: Add Comment

jira_add_comment

Add a comment to an issue. Gotcha: v3 requires Atlassian Document Format, a plain string body is rejected.

Jira: Add Issue Watcher

jira_add_watcher

Add a user as a watcher on an issue. Gotcha: the body is a bare JSON string holding the account id, not an object.

Jira: Add Remote Link

jira_create_remote_issue_link

Link an issue to an external URL. Gotcha: this is an upsert, a call carrying an existing globalId overwrites that link and blanks any field you leave out.

Jira: Assign Issue

jira_assign_issue

Set the assignee on an issue by Atlassian account id. Works even for users who only hold the Assign Issues permission, not full edit rights.

Jira: Create Component

jira_create_component

Create a component in a project. Components group issues inside a project and can set a default assignee.

Jira: Create Filter

jira_create_filter

Save a JQL query as a reusable filter. It is created with the site's default share scope and is not favourited.

Jira: Create Issue

jira_create_issue

Create an issue or subtask. Gotcha: description and other rich text fields must be Atlassian Document Format, and the response returns only the new id, key, and self URL, not the whole issue.

Jira: Create Issues in Bulk

jira_bulk_create_issues

Create up to 50 issues in one call. Partial success is normal: check the errors array in the response, because valid issues are still created when others fail.

Jira: Create Project

jira_create_project

Create a project from a project template. Needs Jira administrator rights, and the template key has to match the project type key.

Jira: Create Sprint

jira_create_sprint

Create a future sprint on a scrum board. It is created in the future state, use Update Sprint to start it.

Jira: Create Version

jira_create_version

Create a version, meaning a release, in a project. Note that projectId is numeric, so look it up with Get Project if you only have the key.

Jira: Delete Attachment

jira_delete_attachment

Permanently delete an attachment from an issue. Deleting another user's attachment needs the Delete All Attachments permission.

Jira: Delete Comment

jira_delete_comment

Permanently delete a comment from an issue. Deleting another user's comment needs the Delete All Comments permission.

Jira: Delete Component

jira_delete_component

Delete a component. Set moveIssuesTo to hand its issues to another component, otherwise they are simply left without one.

Jira: Delete Issue

jira_delete_issue

Permanently delete an issue. An issue that has subtasks cannot be deleted unless deleteSubtasks is true, which deletes those too.

Jira: Delete Issue Link

jira_delete_issue_link

Remove the link between two issues. The issues themselves are untouched.

Jira: Delete Project

jira_delete_project

Delete a project and everything in it. Needs Jira administrator rights, and an archived project has to be restored before it can be deleted.

Jira: Delete Worklog

jira_delete_worklog

Permanently delete a worklog entry. Use adjustEstimate and increaseBy if the remaining estimate should be given the time back.

Jira: Link Two Issues

jira_create_issue_link

Create a link between two issues, for example blocks or duplicates. Gotcha: the response body is empty, so read the issue back if you need the new link id.

Jira: Log Work

jira_add_worklog

Log time against an issue. By default Jira reduces the remaining estimate automatically, use adjustEstimate to change that.

Jira: Move Issues to Backlog

jira_move_issues_to_backlog

Move up to 50 issues back to the backlog, which removes them from any future or active sprint.

Jira: Move Issues to Epic

jira_move_issues_to_epic

Move up to 50 issues under an epic. An issue can only sit in one epic, so this removes it from any previous one.

Jira: Move Issues to Sprint

jira_move_issues_to_sprint

Move up to 50 issues into a sprint. Only future and active sprints accept issues, a closed sprint is rejected.

Jira: Rank Issues

jira_rank_issues

Reorder issues by ranking them before or after another issue. Gotcha: a partial failure returns HTTP 207 with a per issue status list rather than a plain error.

Jira: Remove Issue Watcher

jira_remove_watcher

Stop a user watching an issue. Removing anyone other than yourself needs the Manage Watchers permission.

Jira: Send Issue Notification

jira_notify_issue

Queue a Jira email notification about an issue to its reporter, assignee, watchers, or named users. The mail is sent by Jira, so it comes from the site's own notification address.

Jira: Transition Issue

jira_transition_issue

Move an issue to a new status by transition id. Get the id from List Available Transitions first, because the same status has different ids in different workflows.

Jira: Update Comment

jira_update_comment

Replace the text of an existing comment. The whole body is overwritten, so send the full new text rather than a fragment.

Jira: Update Component

jira_update_component

Update a component's name, description, lead, or assignee rule. Fields you send are overwritten outright.

Jira: Update Issue

jira_update_issue

Edit fields on an issue. Gotcha: this cannot change status, use Transition Issue for that, and the response is empty unless you set returnIssue.

Jira: Update Project

jira_update_project

Update project details such as name, description, lead, or URL. Changing the key or a scheme needs Jira administrator rights.

Jira: Update Sprint

jira_update_sprint

Partially update a sprint, including starting or completing it through the state field. On a closed sprint only the name and goal can still change.

Jira: Update Version

jira_update_version

Update a version, for example to mark it released or move its release date. This is how an automation closes out a release.

Jira: Update Worklog

jira_update_worklog

Change an existing worklog entry, such as its duration, start time, or comment.

Using the integration

On the automation canvas

Jira nodes chain with every other node: a new issue can create an assigned task in Mattering Productivity, an AI step can summarize a sprint before anyone reads the board, and a release can be announced in a message or an email in the same flow. Credits for those runs come from your organization's shared pool.

From AI assistants over MCP

Every node speaks MCP, the open protocol for connecting AI assistants to tools. Claude, ChatGPT, and Matter can search with JQL, open and update issues, comment, log work, and reshape a sprint through the same nodes your workflows use.

Read the ids before you write

Transition ids, issue type ids, and custom field ids are specific to a workflow, a project, and a site, so nothing you hard-code from one project survives a move to another. Run Jira: List Available Transitions before a status change, Jira: List Creatable Issue Types and Jira: List Fields for New Issue before creating in an unfamiliar project, Jira: Get Editable Fields for Issue before an update, and Jira: List Fields to map a custom field name to its customfield_ id.

Rich text is Atlassian Document Format

In REST API v3 an issue description, a comment body, and a worklog comment are all Atlassian Document Format objects: a document with a version, a type, and a content array of paragraph nodes. A plain string is rejected. The affected nodes show the shape in their field descriptions, and Jira: List Issue Comments can return renderedBody if you want HTML back rather than the document structure.

Searching without paging yourself into a corner

Jira: Search Issues with JQL needs a bounded query and pages with nextPageToken. Use Jira: Search Issues with JQL, JSON Body when the query or the field list is too long for a URL, Jira: Count Issues Matching JQL when you only need the number, and Jira: Validate JQL Query when an agent composes the query and you would rather fail early than mid-run.

Boards, sprints, and the backlog

On a site with a Jira Software licence, Jira: List Board Sprints filtered to the active sprint followed by Jira: List Sprint Issues is the whole standup in two steps. Jira: Move Issues to Sprint, Jira: Move Issues to Backlog, and Jira: Rank Issues each handle up to 50 issues per call, which is what makes agent-driven grooming practical.

Writes often come back empty

Update Issue, Transition Issue, Assign Issue, Add Issue Watcher, and the Agile move nodes answer with a 204 and no body, and Link Two Issues answers with a 201 and no body. That is success, not a silent failure. When the next step needs the result, follow with Jira: Get Issue. Jira: Rank Issues is the exception in the other direction: a partial failure comes back as an HTTP 207 with a per issue status list, so a condition checking only for 200 will misread it.

Troubleshooting

Every node returns 401 Unauthorized
Almost always the password field. Jira Cloud no longer accepts an Atlassian password on the REST API: that field has to hold an API token created at id.atlassian.com. The other causes are a username field holding an Atlassian username or display name rather than the account's email address, an email and token that belong to different accounts, and a token that has expired or been revoked. Create a fresh token, update the credential on the connector, and rerun. Jira can also answer a rejected credential with a 403 rather than a 401 when the account has tripped a login challenge, so treat both as an auth problem.
A node fails before it reaches Jira, or hits a host that is not yours
The Site URL field is empty or wrong. It is required on all 93 nodes, because Jira Cloud has no shared API host and there is nothing to fall back to. Type the host you sign in at, such as https://acme.atlassian.net; a bare host, a trailing slash, or a pasted URL with a path all normalize to the same base. If your organization has more than one site, check that the node points at the site the credential's account actually belongs to: a valid token against the wrong site authenticates as nobody useful.
Board, sprint, epic, or backlog nodes fail on a site where everything else works
Those 18 nodes call the Jira Software API, which needs a Jira Software licence on the site. Boards and sprints do not exist on a Jira Work Management only site, so there is nothing for them to return. Add a Jira Software project, or build the flow on JQL search instead, which works on any Jira Cloud site.
Get Epic or List Epic Issues fails on a project that obviously has epics
Atlassian documents Jira: Get Epic and Jira: List Epic Issues as not working for team managed (next generation) projects, and most new Jira Cloud projects are team managed. This is documented Jira behaviour, not a connector fault. Read the epic with Jira: Get Issue and list its children with Jira: Search Issues with JQL on the parent field instead. The other board and sprint nodes are unaffected.
A node returns an empty list instead of an error
Several Jira endpoints answer a permission miss with an empty result rather than a denial, so missing access looks like no data. Jira: List Available Transitions returning nothing on an issue that clearly has transitions is the classic case. Check what the credential's account can actually do: run Jira: Get Current User to confirm which account you are, then open the same issue or project in Jira as that person. Automations that manage a project usually need an account that administers it.
Create Issue or Add Comment rejects the body
Rich text in REST API v3 is Atlassian Document Format, not a plain string and not wiki markup. A description or comment sent as text fails validation. Send a document object with a version, a type of doc, and a content array of paragraphs; the node's field description shows the shape. This applies to issue descriptions, comment bodies, and worklog comments.
A JQL search errors on a query that works in the Jira UI
The search endpoint requires a bounded query, meaning at least one restricting clause such as a project or an updated filter. An open query like ORDER BY created DESC on its own is rejected. Add a bound, and run Jira: Validate JQL Query first when an agent wrote the query. If field names are the problem, Jira: Get JQL Reference Data returns the exact fields, operators, and functions your site accepts.
Transition Issue returns an error for a transition id that worked elsewhere
Transition ids belong to a workflow, not to a status name, so the id for Done in one project is not the id for Done in another, and a transition is only valid from the issue's current status. Run Jira: List Available Transitions on that specific issue immediately before the move and use the id it returns.
A step returns 429 Too Many Requests
Atlassian rate limits Jira Cloud dynamically by the cost of what you are calling rather than by a fixed published quota, and returns a Retry-After hint when it throttles. The node surfaces the status code as it comes back. Handle it in the workflow: slow a bulk loop down, batch where a bulk node exists, such as Jira: Get Issues in Bulk or Jira: Create Issues in Bulk, and retry after the hinted delay.
Create Project fails on the template key
Jira requires the project template key to match the project type key, and Atlassian publishes that mapping as prose rather than as a list the node can validate against. Check the pairing in Atlassian's project creation documentation, and expect a little trial and error the first time. Creating a project also needs Jira administrator rights on the site.

Jira is a trademark of its respective owner. Mattering uses platform names to identify the services these integrations connect to; no endorsement or affiliation is implied.

Login Start Free