Skip to main content

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.

  1. 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.

  2. In TaskJuice, open Settings, then Integrations, then OAuth clients, and add the client ID and secret as a Jira Cloud client.

  3. Tick the scopes your workflows need. read:jira-work and write:jira-work cover the issue surface, manage:jira-webhook is required for the real-time triggers, read:jira-user covers user lookups, manage:jira-project covers component and version writes, and manage:jira-configuration covers custom field options, group membership and project creation. offline_access lets 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:jira and read:jql:jira. Atlassian accepts classic and granular scopes in one consent, so tick both families on the same client.

  4. In a workflow, open any Jira Cloud node and add a connection from the node itself.

  5. Sign in as the Atlassian user whose site you are managing and approve the scopes.

  6. 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-created fires on the Issue Created event, one workflow run per delivery.
  • jira-cloud/issue-updated fires on the Issue Updated event, one workflow run per delivery.
  • jira-cloud/issue-deleted fires on the Issue Deleted event, one workflow run per delivery.
  • jira-cloud/comment-created fires on the Comment Created event, one workflow run per delivery.
  • jira-cloud/comment-updated fires on the Comment Updated event, one workflow run per delivery.
  • jira-cloud/comment-deleted fires on the Comment Deleted event, 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-changed polls on a configurable interval and emits one activation per cycle whose items array carries everything observed in that cycle. Add a Loop node downstream to fan out one branch per item.
  • jira-cloud/project-created polls on a configurable interval and emits one activation per cycle whose items array carries everything observed in that cycle. Add a Loop node downstream to fan out one branch per item.
  • jira-cloud/issue-status-changed polls on a configurable interval and emits one activation per cycle whose items array carries everything observed in that cycle. Add a Loop node downstream to fan out one branch per item.

Actions

Issues

  • jira-cloud/get-issue fetches a single Jira Cloud issue by key or numeric ID.
  • jira-cloud/create-issue creates a Jira issue.
  • jira-cloud/update-issue updates fields on an existing Jira Cloud issue.
  • jira-cloud/delete-issue deletes a Jira Cloud issue.
  • jira-cloud/search-issues runs a JQL search through the enhanced /search/jql endpoint and returns matching issues with cursor-based pagination. Name the fields you want (or *navigable / *all); the endpoint returns only id and key when the list is empty.
  • jira-cloud/bulk-create-issues creates up to 50 Jira issues in a single call.
  • jira-cloud/get-transitions lists the workflow transitions currently available on a Jira issue for the connected user.
  • jira-cloud/transition-issue moves a Jira issue through a workflow transition, optionally setting fields on the transition screen.
  • jira-cloud/assign-issue sets the assignee of a Jira issue.
  • jira-cloud/get-issue-changelog returns a page of the change history for a Jira issue, listing every field edit with its old and new value.
  • jira-cloud/notify-issue sends an email about a Jira issue to the recipients you choose.

Comments

  • jira-cloud/add-comment adds a comment to a Jira Cloud issue using the Atlassian Document Format.
  • jira-cloud/list-comments lists the comments on a Jira issue, newest or oldest first.
  • jira-cloud/get-comment fetches a single comment on a Jira issue by its ID.
  • jira-cloud/update-comment replaces the body of an existing comment on a Jira issue.
  • jira-cloud/delete-comment permanently deletes a comment from a Jira issue.

Work logs

  • jira-cloud/add-worklog logs time against a Jira issue.
  • jira-cloud/list-worklogs lists the work logged against a Jira issue, with the author and time spent on each entry.
  • jira-cloud/get-worklog fetches one worklog entry on an issue by its ID.
  • jira-cloud/update-worklog updates a worklog entry's time spent, start time or comment.
  • jira-cloud/delete-worklog deletes a worklog entry from an issue.

Watchers and votes

  • jira-cloud/list-watchers returns the watch state of a Jira issue and, when the connected user may see it, the list of users watching it.
  • jira-cloud/remove-watcher removes a user from an issue's watcher list.
  • jira-cloud/get-votes returns the vote count on an issue, whether the connected user has voted, and the list of voters when visible.
  • jira-cloud/add-vote casts the connected user's vote for an issue.
  • jira-cloud/remove-vote withdraws the connected user's vote from an issue.
  • jira-cloud/link-issues creates a link between two Jira issues, e.g.
  • jira-cloud/get-issue-link fetches one issue link by its ID, returning the link type and both linked issues.
  • jira-cloud/delete-issue-link removes a link between two Jira issues.
  • jira-cloud/list-remote-links lists the remote links attached to an issue, such as links to pages, documents or records in other systems.
  • jira-cloud/create-remote-link attaches a remote link to an issue, pointing at a URL in another system.
  • jira-cloud/delete-remote-link removes a remote link from an issue.

Attachments

  • jira-cloud/get-attachment returns the metadata for a Jira attachment: filename, size, MIME type, author, and the content URL the bytes live at.
  • jira-cloud/delete-attachment permanently deletes an attachment from a Jira issue.

Issue properties

  • jira-cloud/get-issue-property reads a custom JSON property stored on an issue.
  • jira-cloud/delete-issue-property removes a custom JSON property from an issue.

Projects

  • jira-cloud/list-projects lists projects visible to the authorized user.
  • jira-cloud/get-project fetches one Jira project by key or ID, including its lead, category, components and versions.
  • jira-cloud/create-project creates a new Jira project from a project template.
  • jira-cloud/update-project updates a Jira project's name, key, description, lead or assignee policy.
  • jira-cloud/delete-project deletes an entire Jira project and every issue in it.
  • jira-cloud/list-project-statuses lists the statuses available in a project, grouped by issue type.
  • jira-cloud/list-project-issue-types lists 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-component creates a component in a Jira project.
  • jira-cloud/get-component fetches one project component by ID, including its lead, assignee policy and issue counts.
  • jira-cloud/update-component updates a project component's name, description, lead or assignee policy.
  • jira-cloud/list-project-components returns every component defined on a Jira project.
  • jira-cloud/delete-component permanently deletes a Jira project component.
  • jira-cloud/create-version creates a version (release) in a Jira project.
  • jira-cloud/get-version fetches one project version by ID, including its release state and dates.
  • jira-cloud/update-version updates a project version's name, description, release date or released/archived state.
  • jira-cloud/list-project-versions returns every version (release) defined on a Jira project.
  • jira-cloud/delete-version deletes 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-filters searches the connected Jira site's saved filters by name or owner.
  • jira-cloud/create-filter saves 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-filter fetches one saved filter by ID, including its JQL, owner and share permissions.
  • jira-cloud/update-filter updates a saved filter's name, JQL or description.
  • jira-cloud/delete-filter deletes a saved filter.
  • jira-cloud/list-dashboards lists the Jira dashboards visible to the connected user.
  • jira-cloud/get-dashboard fetches one Jira dashboard by ID, including its owner and share permissions.

Users and groups

  • jira-cloud/search-users searches the connected Jira site's users by display name or email fragment.
  • jira-cloud/get-user fetches a single Atlassian user by account ID, returning their display name, email (when visible), avatar and active state.
  • jira-cloud/find-groups searches 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-members lists the users in a Jira group.

Fields and site metadata

  • jira-cloud/list-fields lists every system and custom field on the Jira site, with the IDs a Create Issue or Update Issue step needs.
  • jira-cloud/list-field-contexts lists the contexts defined for a custom field.
  • jira-cloud/list-field-options lists the options of a select, radio or checkbox custom field within one field context.
  • jira-cloud/create-field-options adds one or more options to a select, radio or checkbox custom field within a field context.
  • jira-cloud/update-field-options updates the value or disabled state of existing custom field options within a field context.
  • jira-cloud/reorder-field-options moves 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-option deletes one option from a select, radio or checkbox custom field.
  • jira-cloud/list-labels lists every issue label defined on the Jira site.
  • jira-cloud/list-issue-types lists every issue type on the Jira site, such as Task, Bug, Story and Epic.
  • jira-cloud/list-priorities lists the issue priorities defined on the Jira site.
  • jira-cloud/list-statuses lists every issue status defined on the Jira site, with its status category.

Agile boards and sprints

  • jira-cloud/list-boards lists the Jira Software boards on the site, optionally filtered by name, type or project.
  • jira-cloud/get-board fetches one Jira Software board by ID, with its name, type and location.
  • jira-cloud/get-board-configuration fetches a board's configuration, including its column layout, estimation field and the filter it is built on.
  • jira-cloud/list-board-issues lists the issues on a board, optionally narrowed with JQL.
  • jira-cloud/list-backlog-issues lists 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-sprints lists the sprints on a board.
  • jira-cloud/list-board-epics lists the epics associated with a board, optionally excluding those already marked done.
  • jira-cloud/get-sprint returns a Jira Software sprint by ID, with its name, state, board, and start/end dates.
  • jira-cloud/list-sprint-issues lists the issues in a sprint, which is how you build a sprint report or a standup digest.
  • jira-cloud/create-sprint creates a future sprint on a Scrum board.
  • jira-cloud/update-sprint updates a sprint's name, dates, goal or state.
  • jira-cloud/delete-sprint deletes a sprint.
  • jira-cloud/move-issues-to-sprint moves up to 50 issues into a Jira Software sprint.
  • jira-cloud/move-issues-to-backlog moves up to 50 issues to the backlog, removing them from whatever sprint they are in.
  • jira-cloud/get-epic fetches one epic by ID or key, with its name, summary, colour and done state.
  • jira-cloud/move-issues-to-epic assigns 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 id downstream 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.
Was this helpful?