PAT Token auth in Jira plugin #724

Closed
opened 2026-02-16 10:20:18 -05:00 by yindo · 2 comments
Owner

Originally created by @AlexeySumin on GitHub (Oct 16, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • Please do not modify this template :) and fill in all the required fields.

1. Is this request related to a challenge you're experiencing? Tell me about your story.

I am trying to set up and use Jira 0.0.1 plugin https://marketplace.dify.ai/plugins/langgenius/jira with my Jira Server installation.
But i am facing 403 error.
And i dont know if this a bug report or feature request.

2. Additional context or comments

There already was a ticket about this problem but author did not say anything after creating it: https://github.com/langgenius/dify-official-plugins/issues/1379

Dify version

1.7.0

Plugin version

jira 0.0.1

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

In JIRA, generate a PAT token
In Dify, install the jira 0.0.1 plugin
Click on Authorization for the jira 0.0.1 plugin
Enter Authorization name, JIRA URL, Username, API Token
Receive 403 error

Same thing could be reproduced in pure python afrer copying code from here: https://github.com/langgenius/dify-official-plugins/blob/main/tools/jira/tools/list_project.py

There is a code:

jira_url = self.runtime.credentials.get("jira_url")
username = self.runtime.credentials.get("username")
api_token = self.runtime.credentials.get("api_token")

jira = Jira(
    url=jira_url,
    username=username,
    password=api_token,
)

We have a token variable, but pass it to to password parameter. Here goes 403.
But if we change this to

jira = Jira(
    url=jira_url,
    username=username,
    token=api_token,
)

All goes OKay.

Resolution

I think, there should be some selector, that will change auth type from basic to token. And when we use token, it passes value to token parameter instead of password.

3. Can you help us with this feature?

  • I am interested in contributing to this feature.
Originally created by @AlexeySumin on GitHub (Oct 16, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify-official-plugins/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] Please do not modify this template :) and fill in all the required fields. ### 1. Is this request related to a challenge you're experiencing? Tell me about your story. I am trying to set up and use Jira 0.0.1 plugin https://marketplace.dify.ai/plugins/langgenius/jira with my Jira Server installation. But i am facing 403 error. And i dont know if this a bug report or feature request. ### 2. Additional context or comments There already was a ticket about this problem but author did not say anything after creating it: https://github.com/langgenius/dify-official-plugins/issues/1379 ### Dify version 1.7.0 ### Plugin version jira 0.0.1 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce In JIRA, generate a PAT token In Dify, install the jira 0.0.1 plugin Click on Authorization for the jira 0.0.1 plugin Enter Authorization name, JIRA URL, Username, API Token Receive 403 error Same thing could be reproduced in pure python afrer copying code from here: https://github.com/langgenius/dify-official-plugins/blob/main/tools/jira/tools/list_project.py There is a code: ``` jira_url = self.runtime.credentials.get("jira_url") username = self.runtime.credentials.get("username") api_token = self.runtime.credentials.get("api_token") jira = Jira( url=jira_url, username=username, password=api_token, ) ``` We have a token variable, but pass it to to password parameter. Here goes 403. But if we change this to ``` jira = Jira( url=jira_url, username=username, token=api_token, ) ``` All goes OKay. ### Resolution I think, there should be some selector, that will change auth type from basic to token. And when we use token, it passes value to `token` parameter instead of `password`. ### 3. Can you help us with this feature? - [ ] I am interested in contributing to this feature.
yindo added the bugenhancement labels 2026-02-16 10:20:18 -05:00
yindo closed this issue 2026-02-16 10:20:18 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Oct 16, 2025):

The Jira plugin currently passes the API token to the password parameter, which causes a 403 error when using a PAT. There is no selector for authentication type, so PATs are not properly supported out of the box. You’re right that the plugin should allow you to choose between basic and token authentication, and pass the PAT to the token parameter instead.

A similar issue was fixed in the Confluence plugin by adding a token_type selector to the UI and backend, letting users choose between Basic and Bearer (PAT) authentication modes. Adopting this approach for the Jira plugin would resolve the problem and support both authentication methods.

For now, a workaround is to modify the plugin code to use the token parameter when authenticating with a PAT, as you described. If you’re interested in contributing, implementing a selector like the one in the Confluence plugin would be a solid solution.

Reference: Confluence plugin PR with token_type selector

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Join Discord Share on X

@dosubot[bot] commented on GitHub (Oct 16, 2025): <!-- Answer --> The Jira plugin currently passes the API token to the `password` parameter, which causes a 403 error when using a PAT. There is no selector for authentication type, so PATs are not properly supported out of the box. You’re right that the plugin should allow you to choose between basic and token authentication, and pass the PAT to the `token` parameter instead. A similar issue was fixed in the Confluence plugin by adding a `token_type` selector to the UI and backend, letting users choose between Basic and Bearer (PAT) authentication modes. Adopting this approach for the Jira plugin would resolve the problem and support both authentication methods. For now, a workaround is to modify the plugin code to use the `token` parameter when authenticating with a PAT, as you described. If you’re interested in contributing, implementing a selector like the one in the Confluence plugin would be a solid solution. Reference: [Confluence plugin PR with token_type selector](https://github.com/langgenius/dify-official-plugins/pull/1808) <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/31b03eba-f032-4cb7-8ab9-dc9a11fda239?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/31b03eba-f032-4cb7-8ab9-dc9a11fda239?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/31b03eba-f032-4cb7-8ab9-dc9a11fda239?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/31b03eba-f032-4cb7-8ab9-dc9a11fda239?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/31b03eba-f032-4cb7-8ab9-dc9a11fda239?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/31b03eba-f032-4cb7-8ab9-dc9a11fda239?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/31b03eba-f032-4cb7-8ab9-dc9a11fda239?feedback_type=other)</sup>&nbsp;&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify-official-plugins/issues/1875)
Author
Owner

@AlexeySumin commented on GitHub (Oct 16, 2025):

Problem was not there. My system user was marked as "need to enter captcha". After i reactivated him problem gone.

@AlexeySumin commented on GitHub (Oct 16, 2025): Problem was not there. My system user was marked as "need to enter captcha". After i reactivated him problem gone.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify-official-plugins#724