# Feature JIM-186 - Support Basic Auth in Jira Migrator

Project: Stream Jira to OpenProject data Migrator
Status: merged
URL: https://community.openproject.org/work_packages/JIM-186

## Planning

| Attribute | Value |
| --- | --- |
| Date |  |
| Priority | Medium |
| Target versions | 18.0.0 |
| Sprint |  |
| Backlog bucket |  |
| Votes |  |
| List |  |
| Roadmap |  |
| Relevance |  |

## OPEN POINTS / FEEDBACK

_No work packages_

## Features and Chunks

_No work packages_

## Bugs and other work packages

_No work packages_

## Technical Details

| Attribute | Value |
| --- | --- |
| Module | Integrations / Jira |
| Feature Flag |  |
| Requires doc change | No |
| Enterprise plan | Community (COM) |

## Details

| Attribute | Value |
| --- | --- |
| Pull preview |  |
| Mockups | https://www.figma.com/design/959fRLTsmhOiHkXYPfd0D2/Jira-Migrator-Import?node-id=1425-15017 |
| Accessibility | No |

## People

| Attribute | Value |
| --- | --- |
| Assignee |  |
| Accountable |  |
| Product manager |  |
| Developers |  |
| Designer | Marc Alcobé |
| Ordered by |  |
| Signed off by |  |
| Interest by |  |

## Estimates and progress

| Attribute | Value |
| --- | --- |
| PD (min) |  |
| PD (max) |  |
| Work |  |
| Labor costs |  |

## Description

**As** a OpenProject admin responsible for the successful Jira -&gt; OpenProject migration  
**I want to** be able to migrate from my Jira that is configured in a way that PAT does not work  
**so that** I can successfully migrate my data

### Acceptance Criteria

*   The “Add Jira migration configuration” flow includes an explicit choice of authentication method with two options
    
    *   Personal access token (PAT)
        
    *   Basic auth
        
*   Now the user can configure basic auth in addition to PAT as option to connect to Jira
    
*   PAT is presented as the recommended option in the UI (e.g., “Recommended” label in the caption text)
    
*   The authentication method choice is required through radio buttons before the configuration can be saved
    
*   When PAT is selected:
    
    *   A “Personal access token” input field is shown
        
    *   The PAT field is required and must not be empty
        
*   When Basic auth is selected:
    
    *   “Username” and “Password” input fields are shown
        
    *   Both fields are required and must not be empty
        
    *   The password value is masked in the UI (password-type input)
        
*   Switching between PAT and Basic auth updates the visible fields immediately and does not allow submitting without the required fields for the selected method
    
*   The configuration cannot be saved if required fields are missing; validation messages are shown inline next to the relevant field(s)
    
*   If Basic auth is selected and Jira rejects the credentials:
    
    *   The UI shows distinct errors when possible (e.g., “Username not found” vs “Incorrect password”), matching the error cases shown in the mockups when the backend can differentiate them
        
    *   If the backend cannot differentiate, a generic “Invalid username or password” is shown in the password error caption
        
*   Connection test must be initiated using &quot;Test connection&quot; button placed alongside &quot;Submit&quot; and &quot;Cancel&quot;
    
    *   The link to test connection must be removed from field caption.
        
*   Test connection must check if user has sufficient permissions( user is an admin) and report if use has insufficient permissions.
    

### Technical notes

*   Note that we implement this for two reasons
    
    *   To support Jira Server 8 which required basic auth at at least one API call
        
    *   To support setup where Jira sits behind a proxy
        

### Permissions and Visibility Considerations

*   Only users with appropriate administrative permissions in OpenProject (e.g., system admin and/or users allowed to configure imports) can create, view, or edit Jira migration configurations
    

### Translation Considerations

*   Localize all UI labels and helper texts, including:
    
    *   “Personal access token (PAT)”
        
    *   “Basic auth”
        
    *   Field labels: “Personal access token”, “Username”, “Password”
        
    *   Captions, validation messages, and authentication error messages
        

### **Out of scope**

*   Version check for Jira 8
    
*   Auto-detecting Jira version or proxy presence and automatically forcing/suggesting a method
    
*   OAuth or other authentication mechanisms beyond PAT and Basic auth
    

<br>
