Repository navigation
feat(jira): OAuth and Each user signs in (Atlassian 3LO), more Jira operations (1.0.0) - #4169
Merged
crazywoola merged 3 commits intoNov 2, 2026
Merged
Conversation
…operations, output variables (1.0.0)
3 of 5 tasks
crazywoola
approved these changes
Nov 2, 2026
crazywoola
left a comment
Member
There was a problem hiding this comment.
Reviewed the plugin scope, manifest, documentation, and relevant source changes. Approving this revision to run the repository pre-merge plugin validation; merge is contingent on successful validation.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Jira 1.0.0 adds OAuth and Each user signs in (Atlassian OAuth 2.0 3LO) next to the existing API token, and adds the common Jira operations that were missing. It follows the same per-user design as the reworked Microsoft plugins (#4163–#4168).
Existing API-token credentials keep working unchanged. The 10 original tools keep their names and parameters.
Auth
Basic(Cloud) orBearer(Server / Data Center PAT).accessible-resources.GET /jira/callback) only stores the one-time code; the tool redeems it with the client secret, which the endpoint never sees.client_id | Dify user ID. They never appear in tool output.jira_sign_outforgets the user's sign-in.api.atlassian.com/ex/jira/<cloud id>.read:jira-work write:jira-work read:jira-user offline_accessplusread:board-scope:jira-software read:project:jira read:issue-details:jirafor the board tools./myself.New tools (prefixed
jira_: the new Agent rejects duplicate tool names across plugins)jira_search_issues: Cloud/search/jqlwithnextPageToken, Server/search; an empty JQL means "updated in the last 30 days" (Cloud refuses unbounded queries)jira_update_issue: summary, description (Markdown → ADF on Cloud), assignee, priority, labels, due date, parent, custom fields JSON, optional no-notifyjira_get_changelogjira_list_transitions,jira_transition_issue(by target status, transition name or ID, with an optional comment)jira_notify_issuejira_add_comment,jira_get_comment,jira_list_comments,jira_update_comment,jira_delete_commentjira_add_attachment(a file, or text + file name),jira_get_attachment(returns the file, up to 50 MB),jira_list_attachments,jira_delete_attachmentjira_get_user(empty = the signed-in account),jira_search_users(to find account IDs)create_issuenow accepts a project key as well as an ID (it sent{"id": "PROJ"}before). It also takes optional assignee, priority, labels, due date, parent and custom fields.success/errorplus its fields).Safety: issue keys, comment and attachment IDs are encoded as one path segment each, so a value chosen by the model cannot change which API is called.
Release Notes
create_issueaccepts a project key and optional fields.Change Type
Screenshots / Videos
The README walks through the setup with screenshots:
Testing
pytest tests); the existingtest_sdk_compatibility.pyalso passes. They cover:api.atlassian.com.jira_e2e.py): all 28 tools in 32 steps.jira_notify_issuegot Jira's "No recipients" because the site has a single user and Jira never emails the sender. The tool now explains this./myself) and ran a JQL search as that user.api.atlassian.com.Checklist