Jira Integration
TestFlair integrates with Jira Cloud and self-hosted Jira instances so you can import issues as user stories and bugs, let AI map fields between the two systems, and keep track of the original Jira source for every imported item.
The Jira integration is a Beta feature. Manage it from the Integrations Hub. To also export test cases to Zephyr Scale, see Jira Zephyr.
Overview
The Jira integration has two main capabilities:
- Import — Pull user stories and bugs from Jira projects into TestFlair, with AI-assisted field mapping and extraction.
- Source Tracking — Every imported item retains a link to its original Jira issue, visible directly from the TestFlair tables.
Setting Up a Jira Connection
Step 1 — Authentication
Open the Jira integration panel from your project and choose your Jira hosting type:
| Option | Description |
|---|---|
| Jira Cloud | For *.atlassian.net domains. Supports OAuth 2.0 (recommended) and API Token authentication. |
| Self-Hosted | For on-premise Jira instances. Uses Personal Access Token authentication. |
Jira Cloud — OAuth 2.0 (Recommended)
- Select OAuth 2.0 as the authentication method.
- Click Connect to be redirected to Atlassian for authorization.
- Grant the required permissions (read projects/issues, create and update issues, attach files).
- You are returned to TestFlair with an active connection.
Jira Cloud — API Token
- Select API Token as the authentication method.
- Enter your Jira site URL (e.g.,
https://yourcompany.atlassian.net). - Enter the email address associated with your Atlassian account.
- Paste your API token (generate one from Atlassian Account Settings).
Self-Hosted — Personal Access Token
- Select Self-Hosted as the hosting type.
- Enter your Jira server URL.
- Paste a Personal Access Token generated from your Jira instance.
Step 2 — Project Mapping
Map your Jira projects to TestFlair projects:
- For each mapping, select a TestFlair project and a Jira project key.
- One Jira connection can map to multiple projects — add or remove mappings as needed.
- When creating a new project from the setup wizard, TestFlair creates the project and mapping automatically.
Step 3 — Configuration
Choose which artifact types to sync and how:
| Artifact | Description |
|---|---|
| User Stories | Jira issues mapped to TestFlair user stories |
| Bugs | Jira issues mapped to TestFlair bugs |
For each enabled artifact type, select the corresponding Jira issue type and set a default priority.
Step 4 — Field Mapping
Preview how TestFlair fields map to Jira fields. The setup wizard shows a read-only summary of the field mappings for user stories and bugs. Fine-tuned field mapping is done during import (see AI Field Mapping below).
Step 5 — Done
A confirmation screen shows your connection status, authentication method, synced artifact types, and the number of mapped projects.
Importing from Jira
After setting up a connection, open the Jira import modal to bring issues into TestFlair.
Choosing an Import Mode
| Mode | Description |
|---|---|
| Sync All | Imports all user stories and bugs from the mapped Jira project. Automatically pre-selects items that have not been imported yet. |
| Select Specific Items | Search Jira using JQL queries, then pick individual issues to import. |
Sync All
- Select Sync All and choose the target TestFlair project (if your connection maps to multiple projects).
- TestFlair fetches all issues and splits them into User Stories and Bugs tabs.
- Items already imported show a Synced badge; new items are pre-selected.
- Review the selection and proceed to the preview step.
Select Specific Items
- Select Select Specific Items.
- Search — Enter a JQL query or use quick filters (Stories only, Bugs only, Updated last 7 days, Unresolved).
- Select — Check the issues you want to import. Use the select-all checkbox to select all items on the current page.
- Preview — Confirm the mapping before proceeding.
AI Field Mapping
After selecting items, TestFlair processes each issue through a three-stage pipeline:
Stage 1 — Direct Mapping
Fields are populated from the user-configured field mappings set during setup. For example, if you mapped a Jira custom field to the TestFlair Actor field, that value is applied directly.
Stage 2 — AI Extraction
For fields still empty after direct mapping, the AI analyzes the Jira issue content (description, comments) and extracts structured information:
- User Stories: actor, goal, benefit, acceptance criteria, feature
- Bugs: severity, actual result, notes
Each AI-suggested value includes a confidence score and reasoning.
Stage 3 — Review
In the review screen:
- Left panel: List of all selected issues with badges indicating empty fields and AI suggestions.
- Right panel: Field-by-field detail for the selected issue.
- Each field shows its value and source — mapping, AI extraction, hardcoded, or empty.
- AI suggestions above 70% confidence are pre-accepted.
- Accept or reject individual suggestions, or use bulk actions.
You stay in full control. Accept only the suggestions you agree with, and edit any field value before committing the import.
After Import
Once you confirm the import, TestFlair creates the corresponding entities:
| Jira Issue | TestFlair Entity | Fields Populated |
|---|---|---|
| User Story issue type | User Story | Title, Actor, Goal, Benefit, Acceptance Criteria, Priority, Feature |
| Bug issue type | Bug | Title, Description, Priority, Status, Severity, Actual Result, Note |
Jira Source Links
Every imported item displays a Jira Source column in the TestFlair tables. Click the link to open the original Jira issue directly in your browser.
Items that have already been imported show a Synced badge, so you always know what has been brought in.
Re-importing Updated Issues
If a Jira issue has been updated since the last import, you can re-import it. TestFlair updates the existing TestFlair entity with the new values from Jira.
Troubleshooting
Connection fails with OAuth?
- Make sure your Atlassian account has the necessary permissions.
- Check that the redirect URL in your Atlassian app settings matches TestFlair's callback URL.
API Token not working?
- Verify the token was generated from the correct Atlassian account (Cloud) or Jira instance (Self-Hosted).
- Ensure the email matches the account tied to the token.
Import returns no results?
- Check your JQL query for syntax errors.
- Verify the Jira project key is correct and the project contains issues of the mapped issue types.
AI suggestions are missing or low quality?
- AI suggestions depend on the content of the Jira issue. Issues with well-structured descriptions and clear acceptance criteria produce better results.
- Check that your flair balance is sufficient — AI calls consume credits.
Next Steps
With Jira issues imported:
- User Stories — Review and edit imported user stories
- Bugs — Manage imported bugs
- Jira Zephyr — Export test cases to Zephyr Scale (Beta)
- Integrations Hub — Manage all your connections