Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [3.0.13] - 2026-01-13

### Added
- **JIRA Tool: Bearer Token Authentication** - Support for enterprise/self-hosted JIRA instances requiring Bearer token authentication.
- **JIRA Tool: SSL Certificate Support** - New `sslCertPath` and `sslKeyPath` options for secure connections to JIRA servers with custom certificates.
- **JIRA Tool: SSL Verification Toggle** - `verifySslCerts` option to disable certificate verification for development environments.
- **JIRA Tool: Comprehensive Test Suite** - Unit tests, integration tests, and regression tests for Bearer Token + SSL features.
- **JIRA Tool: Documentation** - Added README.md with authentication guides, SSL configuration, and troubleshooting.

### Changed
- **JiraApi Credential** - Updated to version 2.0 with authentication type selector (Basic Auth / Bearer Token).
- **JIRA Tool Core** - Refactored `BaseJiraTool` class with `buildHeaders()` and `buildFetchOptions()` methods for cleaner authentication handling.

### Fixed
- Improved error messages for SSL certificate loading failures.

### Notes
- **Backward Compatibility**: Basic Auth (`email + apiToken`) continues to work exactly as before. Existing users do not need to change anything.
- **Migration**: Users can switch to Bearer Token by selecting "Bearer Token" in the credential configuration and providing their token.

---

## [3.0.12] - Previous Release

_See [GitHub Releases](https://github.com/FlowiseAI/Flowise/releases) for previous version history._
65 changes: 62 additions & 3 deletions packages/components/credentials/JiraApi.credential.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,80 @@ class JiraApi implements INodeCredential {
constructor() {
this.label = 'Jira API'
this.name = 'jiraApi'
this.version = 1.0
this.version = 2.0
this.description =
'Refer to <a target="_blank" href="https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/">official guide</a> on how to get accessToken on Github'
this.inputs = [
{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should go into this.credentials with different credentialNames, you may refer to HTTP.ts

label: 'Authentication Type',
name: 'authType',
type: 'options',
default: 'basicAuth',
description: 'Choose between Basic Authentication or Bearer Token',
options: [
{
label: 'Basic Auth (Email + API Token)',
name: 'basicAuth'
},
{
label: 'Bearer Token',
name: 'bearerToken'
}
]
},
{
label: 'User Name',
name: 'username',
type: 'string',
placeholder: 'username@example.com'
placeholder: 'username@example.com',
description: 'Email or username for Basic Auth',
show: {
authType: ['basicAuth']
}
},
{
label: 'Access Token',
name: 'accessToken',
type: 'password',
placeholder: '<JIRA_ACCESS_TOKEN>'
placeholder: '<JIRA_ACCESS_TOKEN>',
description: 'API token for Basic Auth',
show: {
authType: ['basicAuth']
}
},
{
label: 'Bearer Token',
name: 'bearerTokenValue',
type: 'password',
placeholder: '<JIRA_BEARER_TOKEN>',
description: 'Bearer token for token-based authentication',
show: {
authType: ['bearerToken']
}
},
{
label: 'SSL Certificate Path (Optional)',
name: 'sslCertPath',
type: 'string',
placeholder: '/path/to/cert.pem',
description: 'Path to the SSL certificate file (e.g., custom CA, client certificate for mTLS)',
optional: true
},
{
label: 'SSL Key Path (Optional)',
name: 'sslKeyPath',
type: 'string',
placeholder: '/path/to/key.pem',
description: 'Path to SSL key file for client certificate authentication',
optional: true
},
{
label: 'Verify SSL Certificates',
name: 'verifySslCerts',
type: 'boolean',
default: true,
description: 'Whether to verify SSL certificates (disable only for self-signed certs)',
optional: true
}
]
}
Expand Down
Loading
Loading