- Documentation
- Integrations
- Apps
- Jira Cloud integration
Jira Cloud integration
Run your clients' Jira Cloud sites from any workflow, with real-time issue events and 91 actions across the Jira platform and Agile APIs.
What it does
The Jira Cloud integration lets your agency operate every client's Jira site from one place. Connect a client's site once and TaskJuice can create, read, update and delete issues, move them through workflow transitions, manage comments, work logs, watchers, links and attachments, administer projects, components, versions, filters and custom field options, and react in real time when issues or comments change.
The integration covers 91 actions and 9 triggers against Atlassian's Jira Cloud platform REST API v3 and the Jira Software Agile API.
Connect a Jira Cloud account
Jira Cloud uses OAuth 2.0 (3LO), so each agency brings its own Atlassian OAuth app. Your client then sees your brand on the consent screen rather than ours.
-
Create an OAuth 2.0 (3LO) app at developer.atlassian.com, add the Jira platform API, and register your TaskJuice callback URL as the redirect URI.
-
In TaskJuice, open Settings, then Integrations, then OAuth clients, and add the client ID and secret as a Jira Cloud client.
-
Tick the scopes your workflows need.
read:jira-workandwrite:jira-workcover the issue surface,manage:jira-webhookis required for the real-time triggers,read:jira-usercovers user lookups,manage:jira-projectcovers component and version writes, andmanage:jira-configurationcovers custom field options, group membership and project creation.offline_accesslets TaskJuice refresh tokens without re-prompting.The board, sprint, backlog and epic actions need Jira Software granular scopes instead, because Jira Software does not accept the classic ones:
read:board-scope:jira-software,write:board-scope:jira-software,read:board-scope.admin:jira-software,read:sprint:jira-software,write:sprint:jira-software,delete:sprint:jira-software,read:epic:jira-software,write:epic:jira-software,read:issue-details:jira,read:project:jiraandread:jql:jira. Atlassian accepts classic and granular scopes in one consent, so tick both families on the same client. -
In a workflow, open any Jira Cloud node and add a connection from the node itself.
-
Sign in as the Atlassian user whose site you are managing and approve the scopes.
-
Select the Atlassian cloud ID for the client's site. Atlassian returns the authorized sites after sign-in, and the cloud ID you pick scopes every subsequent call to that site.
To revoke access, the connected user opens id.atlassian.com, goes to Account settings, chooses Connected apps, and revokes the TaskJuice entry.
Triggers
Real-time (webhook)
TaskJuice registers a Jira webhook for you when you publish a workflow, scoped with a JQL filter to the project you select in the trigger. No manual setup in Jira is needed.
jira-cloud/issue-createdfires on theIssue Createdevent, one workflow run per delivery.jira-cloud/issue-updatedfires on theIssue Updatedevent, one workflow run per delivery.jira-cloud/issue-deletedfires on theIssue Deletedevent, one workflow run per delivery.jira-cloud/comment-createdfires on theComment Createdevent, one workflow run per delivery.jira-cloud/comment-updatedfires on theComment Updatedevent, one workflow run per delivery.jira-cloud/comment-deletedfires on theComment Deletedevent, one workflow run per delivery.
Jira leases each webhook registration for 30 days. TaskJuice re-registers before the lease expires, so a published workflow keeps receiving events.
Scheduled (polling)
jira-cloud/issue-changedpolls on a configurable interval and emits one activation per cycle whoseitemsarray carries everything observed in that cycle. Add a Loop node downstream to fan out one branch per item.jira-cloud/project-createdpolls on a configurable interval and emits one activation per cycle whoseitemsarray carries everything observed in that cycle. Add a Loop node downstream to fan out one branch per item.jira-cloud/issue-status-changedpolls on a configurable interval and emits one activation per cycle whoseitemsarray carries everything observed in that cycle. Add a Loop node downstream to fan out one branch per item.
Actions
Issues
jira-cloud/get-issuefetches a single Jira Cloud issue by key or numeric ID.jira-cloud/create-issuecreates a Jira issue.jira-cloud/update-issueupdates fields on an existing Jira Cloud issue.jira-cloud/delete-issuedeletes a Jira Cloud issue.jira-cloud/search-issuesruns a JQL search through the enhanced/search/jqlendpoint and returns matching issues with cursor-based pagination. Name the fields you want (or*navigable/*all); the endpoint returns onlyidandkeywhen the list is empty.jira-cloud/bulk-create-issuescreates up to 50 Jira issues in a single call.jira-cloud/get-transitionslists the workflow transitions currently available on a Jira issue for the connected user.jira-cloud/transition-issuemoves a Jira issue through a workflow transition, optionally setting fields on the transition screen.jira-cloud/assign-issuesets the assignee of a Jira issue.jira-cloud/get-issue-changelogreturns a page of the change history for a Jira issue, listing every field edit with its old and new value.jira-cloud/notify-issuesends an email about a Jira issue to the recipients you choose.
Comments
jira-cloud/add-commentadds a comment to a Jira Cloud issue using the Atlassian Document Format.jira-cloud/list-commentslists the comments on a Jira issue, newest or oldest first.jira-cloud/get-commentfetches a single comment on a Jira issue by its ID.jira-cloud/update-commentreplaces the body of an existing comment on a Jira issue.jira-cloud/delete-commentpermanently deletes a comment from a Jira issue.
Work logs
jira-cloud/add-workloglogs time against a Jira issue.jira-cloud/list-worklogslists the work logged against a Jira issue, with the author and time spent on each entry.jira-cloud/get-worklogfetches one worklog entry on an issue by its ID.jira-cloud/update-worklogupdates a worklog entry's time spent, start time or comment.jira-cloud/delete-worklogdeletes a worklog entry from an issue.
Watchers and votes
jira-cloud/list-watchersreturns the watch state of a Jira issue and, when the connected user may see it, the list of users watching it.jira-cloud/remove-watcherremoves a user from an issue's watcher list.jira-cloud/get-votesreturns the vote count on an issue, whether the connected user has voted, and the list of voters when visible.jira-cloud/add-votecasts the connected user's vote for an issue.jira-cloud/remove-votewithdraws the connected user's vote from an issue.
Links
jira-cloud/link-issuescreates a link between two Jira issues, e.g.jira-cloud/get-issue-linkfetches one issue link by its ID, returning the link type and both linked issues.jira-cloud/delete-issue-linkremoves a link between two Jira issues.jira-cloud/list-remote-linkslists the remote links attached to an issue, such as links to pages, documents or records in other systems.jira-cloud/create-remote-linkattaches a remote link to an issue, pointing at a URL in another system.jira-cloud/delete-remote-linkremoves a remote link from an issue.
Attachments
jira-cloud/get-attachmentreturns the metadata for a Jira attachment: filename, size, MIME type, author, and thecontentURL the bytes live at.jira-cloud/delete-attachmentpermanently deletes an attachment from a Jira issue.
Issue properties
jira-cloud/get-issue-propertyreads a custom JSON property stored on an issue.jira-cloud/delete-issue-propertyremoves a custom JSON property from an issue.
Projects
jira-cloud/list-projectslists projects visible to the authorized user.jira-cloud/get-projectfetches one Jira project by key or ID, including its lead, category, components and versions.jira-cloud/create-projectcreates a new Jira project from a project template.jira-cloud/update-projectupdates a Jira project's name, key, description, lead or assignee policy.jira-cloud/delete-projectdeletes an entire Jira project and every issue in it.jira-cloud/list-project-statuseslists the statuses available in a project, grouped by issue type.jira-cloud/list-project-issue-typeslists the issue types available in specific projects, which is what a Create Issue step needs to offer valid choices.
Components and versions
jira-cloud/create-componentcreates a component in a Jira project.jira-cloud/get-componentfetches one project component by ID, including its lead, assignee policy and issue counts.jira-cloud/update-componentupdates a project component's name, description, lead or assignee policy.jira-cloud/list-project-componentsreturns every component defined on a Jira project.jira-cloud/delete-componentpermanently deletes a Jira project component.jira-cloud/create-versioncreates a version (release) in a Jira project.jira-cloud/get-versionfetches one project version by ID, including its release state and dates.jira-cloud/update-versionupdates a project version's name, description, release date or released/archived state.jira-cloud/list-project-versionsreturns every version (release) defined on a Jira project.jira-cloud/delete-versiondeletes a project version through Jira's delete-and-replace endpoint, optionally moving Fix Version and Affects Version references to another version first.
Filters and dashboards
jira-cloud/search-filterssearches the connected Jira site's saved filters by name or owner.jira-cloud/create-filtersaves a JQL query as a Jira filter that your client can reuse in Jira and that later steps can run by ID.jira-cloud/get-filterfetches one saved filter by ID, including its JQL, owner and share permissions.jira-cloud/update-filterupdates a saved filter's name, JQL or description.jira-cloud/delete-filterdeletes a saved filter.jira-cloud/list-dashboardslists the Jira dashboards visible to the connected user.jira-cloud/get-dashboardfetches one Jira dashboard by ID, including its owner and share permissions.
Users and groups
jira-cloud/search-userssearches the connected Jira site's users by display name or email fragment.jira-cloud/get-userfetches a single Atlassian user by account ID, returning their display name, email (when visible), avatar and active state.jira-cloud/find-groupssearches the Jira site's groups by name, which is how you resolve a group before granting it a permission or sharing a filter with it.jira-cloud/list-group-memberslists the users in a Jira group.
Fields and site metadata
jira-cloud/list-fieldslists every system and custom field on the Jira site, with the IDs a Create Issue or Update Issue step needs.jira-cloud/list-field-contextslists the contexts defined for a custom field.jira-cloud/list-field-optionslists the options of a select, radio or checkbox custom field within one field context.jira-cloud/create-field-optionsadds one or more options to a select, radio or checkbox custom field within a field context.jira-cloud/update-field-optionsupdates the value or disabled state of existing custom field options within a field context.jira-cloud/reorder-field-optionsmoves custom field options to a new position in the dropdown, either to the start, the end, or after a named option.jira-cloud/delete-field-optiondeletes one option from a select, radio or checkbox custom field.jira-cloud/list-labelslists every issue label defined on the Jira site.jira-cloud/list-issue-typeslists every issue type on the Jira site, such as Task, Bug, Story and Epic.jira-cloud/list-prioritieslists the issue priorities defined on the Jira site.jira-cloud/list-statuseslists every issue status defined on the Jira site, with its status category.
Agile boards and sprints
jira-cloud/list-boardslists the Jira Software boards on the site, optionally filtered by name, type or project.jira-cloud/get-boardfetches one Jira Software board by ID, with its name, type and location.jira-cloud/get-board-configurationfetches a board's configuration, including its column layout, estimation field and the filter it is built on.jira-cloud/list-board-issueslists the issues on a board, optionally narrowed with JQL.jira-cloud/list-backlog-issueslists the issues in a board's backlog, meaning issues on the board that are not assigned to any active or future sprint.jira-cloud/list-board-sprintslists the sprints on a board.jira-cloud/list-board-epicslists the epics associated with a board, optionally excluding those already marked done.jira-cloud/get-sprintreturns a Jira Software sprint by ID, with its name, state, board, and start/end dates.jira-cloud/list-sprint-issueslists the issues in a sprint, which is how you build a sprint report or a standup digest.jira-cloud/create-sprintcreates a future sprint on a Scrum board.jira-cloud/update-sprintupdates a sprint's name, dates, goal or state.jira-cloud/delete-sprintdeletes a sprint.jira-cloud/move-issues-to-sprintmoves up to 50 issues into a Jira Software sprint.jira-cloud/move-issues-to-backlogmoves up to 50 issues to the backlog, removing them from whatever sprint they are in.jira-cloud/get-epicfetches one epic by ID or key, with its name, summary, colour and done state.jira-cloud/move-issues-to-epicassigns up to 50 issues to an epic, moving them from any epic they are currently in.
Known limitations
- Atlassian enforces per-app and per-tenant rate limits on the Jira Cloud REST API. When Jira returns a 429, TaskJuice surfaces a retryable rate-limit error and respects the recommended backoff.
- Jira secures webhook deliveries to OAuth apps with a bearer JWT rather than an HMAC signature, and TaskJuice does not yet verify that JWT. Deliveries are protected by the high-entropy token in the delivery URL, which is unique per connected workspace.
- Webhook triggers are scoped to one project each, because Jira requires a JQL filter on every registration. Watch several projects by adding one trigger per project.
- Sprint and version events are not offered as triggers. Jira does not apply JQL filtering to those event types, so a project-scoped registration would receive site-wide traffic.
- Adding a watcher, uploading an attachment, downloading attachment content and the Jira Forms surface are not available yet. Each needs a request shape the declarative integration engine does not express today.
- The polling triggers watermark on a fixed relative window rather than a stored cursor, so an issue changed twice inside one window is emitted once and an issue changed in two consecutive windows is emitted twice. Dedupe on issue
iddownstream when exactly-once matters. - Each Jira site has its own Atlassian cloud ID. Connecting more than one site for a client needs one connection per site.