API Integration
Connect TestKase to Jira Cloud or Jira Server via API for real-time requirement sync, defect push, and bidirectional traceability.
Looking for alternative connection methods? See the Jira Plugin (Forge app that works inside Jira) or the Chrome Extension for lightweight browser-based access.
Overview
The Jira API integration connects TestKase with your Jira instance to create a seamless bridge between test management and issue tracking. When connected, Jira issues are automatically imported as requirements, changes in Jira are reflected in TestKase in real time, and defects can be pushed from TestKase to Jira with one click. Status updates, priority changes, and comments sync bidirectionally -- eliminating manual data entry and keeping both systems aligned.
Auto-sync
Jira issues automatically imported and kept in sync
Bidirectional sync
Status, priority, and comments reflected in both systems
Easy setup
Connect with an access token in minutes
Real-time sync
Changes in Jira reflected automatically in TestKase
Secure
Tokens stored encrypted, never exposed
Non-destructive
Disconnect anytime, data is preserved
Prerequisites
Before setting up the Jira integration, make sure you have the following ready:
For Jira Cloud
- An active Jira Cloud account with a project containing issues.
- An API token generated from your Atlassian account.
- Your Jira email address (used alongside the API token for authentication).
- The instance URL of your Jira site (e.g.,
https://your-org.atlassian.net).
Generate a Jira Cloud API token at https://id.atlassian.com/manage-profile/security/api-tokens.
Click Create API token, give it a label (e.g., "TestKase Integration"),
and copy the token immediately.
For Jira Server / Data Center
- Your Jira Server or Data Center base URL (e.g.,
https://jira.yourcompany.com). - A Personal Access Token (PAT) from your Jira profile settings.
- The PAT must have read and write permissions on the target project.
TestKase Permissions
You must have Project Admin or Owner role in the TestKase project to configure integrations. See User Permissions for details.
Setup
Follow these steps to connect your TestKase project to a Jira Cloud or Jira Server instance:
- Navigate to Settings → Jira Integration in your TestKase project.
- You will see the integration setup card. Click Configure.
- Select Jira as your platform.
- Enter your Instance URL:
- Jira Cloud:
https://your-org.atlassian.net - Jira Server:
https://jira.yourcompany.com
- Jira Cloud:
- Enter your Email address (Jira Cloud only -- this is the email associated with the API token).
- Paste your API Token (Jira Cloud) or Personal Access Token (Jira Server).
- Click Connect. TestKase validates the credentials and fetches your Jira projects.
- Select the Jira project you want to link to this TestKase project.
- Select the Issue Type to use when creating issues from TestKase defects (e.g., Bug, Task, Story).
- Click Save to complete the connection.
The issue type you select determines how defects from TestKase appear in Jira. Most teams choose Bug for defect tracking. You can change this later by editing the integration.
Requirements Sync
Once connected, TestKase automatically syncs Jira issues as requirements in real time. There is no manual import step required -- the integration keeps both systems in sync continuously.
How Auto-Sync Works
- Automatic import -- Jira issues from the connected project are automatically imported as requirements in TestKase. The Jira issue summary becomes the requirement title, and the Jira description becomes the requirement description. The Jira issue key (e.g., PROJ-123) is stored as a clickable reference.
- Real-time updates -- When a Jira issue is updated (title changes, description edits, status transitions, priority changes), those changes are reflected in TestKase automatically.
- Test case comments -- When test cases are linked to a synced requirement in TestKase, the linked test cases appear as comments on the corresponding Jira issue. This gives your Jira users visibility into test coverage without leaving Jira.
- Bidirectional defect sync -- Defect updates sync bidirectionally between TestKase and Jira. Status changes, priority updates, and comments are reflected in both systems.
Synced Requirement Behavior
- Synced requirements display a Jira badge showing the original Jira issue key. Clicking the badge opens the Jira issue in a new tab.
- The title and description of synced requirements are read-only in TestKase because the source of truth is Jira. To edit them, make changes in Jira and they will sync over.
- You can still link test cases and defects to synced requirements, add attachments, and assign them to folders within TestKase -- these fields are managed locally.
- If a Jira issue is deleted, the synced requirement in TestKase is automatically marked as Deprecated rather than deleted, preserving any test case links and historical data.
Use Jira JQL filters during setup to control exactly which issues are imported. For example, you might filter to only import stories from a specific epic, or only import issues with a certain label. This keeps your requirements list focused and manageable.
Field Mapping for Requirements
TestKase automatically maps fields between Jira and TestKase. The following fields are mapped during sync:
| Jira Field | TestKase Field | Notes |
|---|---|---|
| Summary | Title | Maps directly; the Jira issue summary becomes the requirement title |
| Description | Description | Rich text content is preserved where possible |
| Priority | Priority | Mapped to P0-P3 based on your integration settings |
| Status | Status | Mapped to Draft/Active/Deprecated based on your status mapping configuration |
| Issue Key | Jira Reference | Stored as metadata; displayed as a badge on the requirement for quick reference back to Jira |
Priority Mapping
| Jira Priority | TestKase Priority |
|---|---|
| Highest / Blocker | P0 (Critical) |
| High / Critical | P1 (High) |
| Medium | P2 (Medium) |
| Low / Lowest | P3 (Low) |
Priority mapping is automatic and cannot be customized. If your Jira instance uses custom priority schemes, the mapping uses the default Jira priority levels.
Traceability from Test Cases
From the test case detail view, you can link test cases to Jira-synced requirements. This creates a traceable connection between your Jira backlog and your test suite.
When a test case is linked to a synced requirement, TestKase automatically posts a comment on the corresponding Jira issue showing the linked test case details. This gives Jira users direct visibility into which tests cover each issue -- without leaving Jira.
Defect Push
Push defects from TestKase to Jira, creating new issues automatically with all relevant information.
How to Push a Defect
- Open the defect in TestKase from the defects list.
- Click the Push to Jira button in the defect detail view.
- TestKase creates a new issue in your connected Jira project with the defect details.
- A bidirectional link is established -- the TestKase defect shows a clickable link to the Jira issue, and the Jira issue description includes a reference back to TestKase.
Push During Test Execution
The most common workflow is to push defects during test execution:
- Execute a test case in a test cycle.
- When a test fails, create a defect directly from the execution view.
- The defect is automatically linked to the failed test case.
- Click Push to Jira to immediately create the Jira issue.
This captures the most context (test case, cycle, execution details) and ensures no information is lost between discovery and reporting.
Bidirectional Sync for Defects
Once a defect is pushed to Jira, changes are synchronized between both systems automatically:
- Status updates -- When the Jira issue status changes (e.g., from To Do to In Progress to Done), the corresponding defect status in TestKase updates automatically. Similarly, status changes in TestKase are reflected in Jira.
- Priority changes -- Priority updates in either system are synced to the other.
- Comments -- Comments added on the Jira issue appear on the TestKase defect, and vice versa.
The sync is automatic and continuous. You do not need to manually trigger updates after the initial push.
Field Mapping for Defects
TestKase automatically maps defect fields to Jira issue fields when pushing:
| TestKase Defect Field | Jira Issue Field | Notes |
|---|---|---|
| Title | Summary | Mapped directly |
| Description | Description | Includes a link back to the TestKase defect |
| Priority | Priority | Mapped to closest Jira level (see table below) |
| Status | Status | Mapped based on status workflow |
Priority Mapping
| TestKase Defect Priority | Jira Priority |
|---|---|
| Blocker | Highest / Blocker |
| Critical | High / Critical |
| Major | Medium |
| Minor | Low |
| Trivial | Lowest |
Status Mapping
| TestKase Status | Jira Status |
|---|---|
| Open | To Do / Open |
| In-Progress | In Progress |
| Closed | Done / Closed |
| Achieved | Done / Closed |
Priority mapping is automatic. If your Jira instance uses custom priority schemes, the mapping uses the default Jira priority levels. You can manually adjust priority values after push if needed.
Viewing Pushed Defects
After a defect is pushed to Jira, the defect detail view in TestKase displays:
- A Jira badge with the issue key (e.g., PROJ-456). Clicking the badge opens the Jira issue in a new tab.
- The current sync status showing when the last sync occurred.
- Any comments from the Jira issue.
From the Jira side, the created issue includes:
- The defect title as the issue summary.
- The defect description with a link back to TestKase.
- The mapped priority and status.
Management
Edit Connection
To update your integration settings (project, issue type, or credentials):
- Navigate to Settings → Jira Integration.
- Click Edit on the integration card.
- Modify the fields you want to update (e.g., change the issue type, update the access token).
- Click Save to apply changes.
If your access token has expired, editing the integration to provide a new token is the fastest way to restore the connection without losing your existing synced data.
Disconnect (Reset)
To completely remove the integration:
- Click Reset on the integration card.
- Confirm the disconnection.
What happens when you disconnect:
- Auto-sync stops between TestKase and Jira.
- Existing imported requirements are preserved in TestKase -- they are not deleted.
- Existing pushed defects remain in Jira -- they are not removed.
- Cross-reference links on existing items continue to work (they link to the Jira URL).
- Previously synced requirements become editable in TestKase.
- No further sync operations occur until you reconnect.
- You can reconnect to the same or a different project at any time.
Troubleshooting
▶I see an 'Authentication failed' error
This usually means your access token is invalid or expired. Steps to resolve:
- Verify the token is still valid in your Jira account settings.
- For Jira Cloud, ensure you are using the correct email address (the one associated with the API token).
- For Jira Server, confirm the PAT has not been revoked by an administrator.
- Generate a new token and update the integration in TestKase.
▶I can't see my Jira project in the dropdown
Your access token may not have access to that project. Common causes:
- The token user does not have permission to access that Jira project.
- The project is archived or deleted in Jira.
- For Jira Cloud, the token scope may be limited. Create a new token with full project access.
▶Synced requirements are missing description or priority
TestKase maps the most common fields (title, description, priority, status). If a field is empty in the source issue, it will be empty in TestKase. Custom Jira fields (like Story Points, Sprint, or custom dropdowns) are not synced automatically -- you can add these details manually or use custom fields.
▶Pushed defect is not appearing in Jira
Check the following:
- The issue type selected in the integration settings exists and is enabled for the Jira project.
- The token user has permission to create issues in the Jira project.
- Required fields in Jira (besides summary and description) may be blocking issue creation. Simplify your Jira issue type's required fields.
▶Status changes are not syncing
Verify that:
- The Jira integration is still connected (check Settings → Jira Integration).
- Your access token has not expired. Generate a new token and update the integration if needed.
- The Jira workflow allows the status transition. Some Jira projects have restricted workflows that prevent certain transitions.
▶The integration was working but suddenly stopped
Most common causes:
- Token expired: Generate a new token and edit the integration.
- Jira project was moved or renamed: Edit the integration and re-select the project.
- Network/firewall change: Ensure TestKase can reach your Jira Server instance.
▶Can I connect multiple Jira projects to one TestKase project?
No. Each TestKase project supports one external integration connection at a time. To work with multiple Jira projects, create separate TestKase projects for each. This keeps the traceability clean and avoids cross-project confusion.
▶Can I push a defect to a different Jira project?
Each TestKase project is connected to one Jira project. All pushed defects go to that project. To push defects to a different Jira project, edit the integration settings and change the connected project, or create a separate TestKase project for each Jira project.
▶What happens to synced requirements if I disconnect?
Synced requirements remain in TestKase as regular requirements. They are no longer read-only and can be edited directly. The Jira badge is removed, and the requirements become fully managed within TestKase. No data is lost during disconnection.
▶Does disconnecting delete pushed defects from Jira?
No. Disconnecting only removes the integration link in TestKase. Issues created in Jira via defect push are permanent and remain in Jira regardless of the TestKase integration status.
▶Can I use the same Jira token for multiple TestKase projects?
Yes. The same Jira API token can be used across multiple TestKase projects. Each project connects to a different Jira project using the same token, as long as the token user has access to all the Jira projects.
▶Is Jira Service Management supported?
Jira Service Management projects are supported as long as the issue type you select (e.g., Bug, Task) is available in the project. Service request-specific fields may not be mapped.
