Browse the Knowledge Hub211 resources
Jira review for QA teams: pricing, alternatives and setup
Jira is Atlassian’s work tracking tool for backlogs, sprints, releases and defects. For QA teams it is usually where bugs are raised, triaged and traced to the stories and releases they affect, and, with apps such as Xray or Zephyr, where test cases and executions live too. Jira Cloud is sold per user with a free plan; Data Center no longer takes new customers.
QAble runs this tool on client engagements. The assessment below is from that experience.
- last reviewed
- 13 October 2026
- version covered
- Jira Cloud, October 2026
- licence
- Commercial
At a glance
Jira at a glance
- Vendor
- Atlassian
- Category
- Defect tracking, Collaboration
- Licence
- Commercial
- Platforms
- Cloud, Data Center (existing customers only)
- Integrates with
- Xray, Zephyr, Confluence, Bitbucket, GitHub, Jenkins
- First released
- 2002
- Version reviewed
- Jira Cloud, October 2026
Verdict
Our verdict on Jira
Strengths
- Defects link natively to stories, epics and fix versions, giving traceability from bug to release
- JQL turns defect questions into saved filters, such as unresolved high-priority bugs in the next release
- Free plan for up to 10 users, with per-user paid plans that scale to 100,000 users per site
- Built-in automation can assign, transition and notify on bugs without scripts, within a monthly step allowance
- REST API v3 lets CI pipelines raise, update and comment on bugs automatically
- Large Marketplace of test management apps, including Xray and Zephyr, that live inside Jira
Weaknesses
- No native test cases, test runs or executions; test management needs a paid app priced per Jira user
- Workflows that never set a resolution silently break done tracking, reports and Unresolved filters
- Data Center takes no new customers and reaches end of life on 28 March 2029
- Configuration sprawl, renamed concepts and metered automation make long-lived instances costly to keep tidy
Best for
Organisations where engineering already plans work in Jira and QA needs defects to sit beside the stories, epics and releases they affect. The value for testers is traceability: a bug linked to its story, fix version and, through a test management app, the failing test gives a release decision or an incident review real evidence. JQL then makes defect metrics a saved query rather than a spreadsheet, and dashboards share them without extra tooling.
Not for
Test case management on its own. Jira has no native test case, test run or execution against a build, and teams that improvise with custom work types and subtasks hit the limits within a release or two. It is also heavy for a small team that only needs a bug list: the configuration surface is large, and a lighter tracker gets out of the way. Teams outside the Atlassian estate should weigh the integration cost honestly.
Setup cost
Easy to start and easy to get wrong. A software space with the Bug work type, a board and a workflow takes an afternoon. What still makes sense in two years takes deliberate design: a short workflow whose done statuses set a resolution, a small agreed set of fields such as environment, severity and found-in version, and a few shared filters. We set those rules before the first hundred bugs, because migrating data later is far harder than agreeing the model now.
Maintenance burden
Significant at scale, and mostly self-inflicted. Fields and statuses accumulate because adding one is easy and removing one breaks someone’s filter. Automation rules interact in ways that are hard to debug, and on Cloud they now consume a metered allowance of steps. Atlassian also renames things: issues became work items in 2025 and projects became spaces in 2026, so screenshots and internal guides drift. Budget a quarterly review of fields, statuses and automation.
Honest limitations
The resolution field, not the status, decides whether Jira treats a work item as done, and a workflow that never sets it quietly breaks every report and Unresolved filter. Reporting on defect trends beyond the built-in gadgets usually needs an app or an export. Cloud enforces configuration limits, such as 700 fields per space, and meters automation by steps. Data Center ends on 28 March 2029, so on-premises teams face a migration decision.
How it works
How Jira works
Work items, work types and spaces
Everything in Jira is a work item, formerly called an issue, of a given work type such as Bug, Story, Task or Epic, inside a space, formerly a project. Software spaces include Bug by default; business spaces start with only Task and Subtask. Each work type has a set of fields, a screen layout and a workflow, assigned through schemes that can be shared across spaces. That scheme model is why two spaces that look identical can behave differently, and why one change to a shared scheme can alter dozens of spaces at once. The renames are cosmetic: the REST API and JQL still use issue.
Status moves the card, resolution ends the lifecycle
A workflow defines statuses and the transitions between them, and each status belongs to a category: To Do, In Progress or Done. Separately, the resolution field records why a work item ended, such as Fixed, Duplicate or Cannot Reproduce. Atlassian’s guidance is explicit that Jira considers a lifecycle finished when resolution has a value, and that Unresolved simply means it is empty. Reports such as Created vs Resolved, the Open Issues filter and resolution = Unresolved queries all depend on it. A workflow that moves bugs to Closed without setting a resolution therefore leaves them open in every metric, which is the most common cause of wrong defect numbers.
JQL: the query layer under everything
Jira Query Language is a structured query syntax over fields, such as issuetype = Bug AND resolution = Unresolved AND priority in (Highest, High). Saved as filters, queries drive boards, dashboards, gadgets, subscriptions, automation conditions and API searches, so most of Jira’s reporting is JQL in some form. That is why consistent field use matters: a filter can only find what was recorded the same way every time. JQL has traps of its own. A not-equals comparison such as resolution != Fixed skips work items with no resolution, so it needs OR resolution IS EMPTY to include them.
Apps extend the data model
Jira has no test case entity, so test management comes from Marketplace apps. Some, such as Xray, add new work types like Test and Test Execution, so tests are Jira work items queryable with JQL. Others, such as Zephyr, keep test cases in their own store and link them to work items. On Cloud, an app’s data can live with its vendor rather than in Jira: Xray Cloud, for example, documents that its data sits on its own infrastructure. Licensing follows the host: Marketplace apps for Jira are priced on the number of Jira users on the site, at the same user tier and billing cycle, whether or not each user tests.
Strengths
What it does well
Traceability from defect to release
A bug can link to the story it breaks, the epic, the fix version it ships in, the commit or pull request that fixed it through development tool integrations, and, with a test app, the test that found it. When someone asks why a release went out with a known issue, the answer is a chain of links rather than a reconstruction from chat history.
Configurable defect workflows
Statuses, transitions, conditions, validators and post functions let a team require a reproduction environment before triage, block closure without a resolution, or route severity-one bugs to an on-call queue. The flexibility is real; the discipline is keeping workflows short enough that people follow them.
Filters, dashboards and subscriptions
Saved JQL filters feed dashboard gadgets such as created versus resolved trends, two-dimensional tables of bugs by component and priority, and filter results. Subscriptions email a filter on a schedule. For most QA reporting needs, such as open defects for the next release or bugs reopened this sprint, this is enough without exporting data.
Rule-based automation
Jira automation runs rules of triggers, conditions and actions: assign new bugs by component, transition a bug when its pull request merges, or comment when a fix version is released. On Cloud each executed part of a rule counts as a step against a monthly allowance, so high-volume rules need sizing against the plan.
A REST API for pipelines and tools
The Cloud REST API v3 creates, updates, transitions and searches work items, with descriptions in Atlassian Document Format. CI jobs use it to raise bugs for failed nightly runs, test tools use it to sync results, and scripts use it for bulk clean-up. Authentication for scripts is an Atlassian account email with an API token, which now expires within a year.
Rovo AI on paid plans
Standard, Premium and Enterprise include Rovo Search, Chat and Agents, which can summarise and find work items in natural language. The Free plan does not. Chat and agent requests consume monthly credits per user, which Atlassian says it is not yet charging overage for. Treat it as a convenience for triage and search, not a replacement for disciplined fields.
Pricing
Jira pricing and licensing
Jira Cloud is sold in four plans: Free, Standard, Premium and Enterprise. Free covers up to 10 users with 2 GB of storage. Paid plans are priced per user and billed monthly on the actual number of users or annually by user tier, with the per-user rate falling as the user count rises; Enterprise is quoted by sales. Data Center is closed to new customers. Test management apps add a separate per-user charge sized to every Jira user on the site.
- Free: up to 10 users, 2 GB of storage, community support and 150 automation steps per month for the whole site; exceeding 10 users moves the site to a Standard trial.
- Standard: up to 100,000 users per site, 250 GB storage, user roles and permissions, Rovo, and 400 automation steps per user per month. Premium adds cross-team planning, unlimited storage, 750 steps per user and a 99.9% uptime SLA.
- Enterprise: contact sales; up to 150 sites, advanced admin and identity controls, 1,000 automation steps per user and a 99.95% uptime SLA.
- Marketplace apps, including Xray and Zephyr, are priced on the number of Jira users on the site and must match the Jira user tier and billing cycle, so test management cost scales with all Jira users, not just testers.
- Data Center: no new subscriptions since 30 March 2026, expansions until 30 March 2028, and end of life on 28 March 2029. Server support ended on 15 February 2024.
- Hidden costs: administration time, app licences, and automation usage beyond the allowance, which Atlassian bills from 3 December 2026.
Checked against the vendor’s own pages on 13 October 2026. Pricing changes; confirm on the official site before buying.
Getting started
Jira tutorial: getting started
Setup, step by step
- Create a Jira Cloud site on the Free plan and a software space for the product under test.
- Check the Bug work type, and add only the fields you will report on: environment, severity, found in version.
- Edit the workflow so every transition into a Done status sets a resolution.
- Create versions for upcoming releases so bugs can carry a fix version.
- Save a filter for unresolved bugs in the next release and add it to a dashboard.
- Create an API token for automation, and test it against the REST API.
Install
# Jira Cloud needs no install: create a site at https://www.atlassian.com/software/jira/free
# Then check API access with an Atlassian account email and API token
curl -s -u "[email protected]:$JIRA_API_TOKEN" \
https://your-site.atlassian.net/rest/api/3/myselfA first example
-- JQL: open bugs that block the next release, most severe first
-- resolution = Unresolved means "resolution is empty", which is how
-- Jira itself decides a work item is still open
project = SHOP
AND issuetype = Bug
AND resolution = Unresolved
AND fixVersion in unreleasedVersions()
AND priority in (Highest, High)
ORDER BY priority DESC, created ASC
-- Workflow audit: items in a Done status with no resolution.
-- Any results here mean reports and filters are undercounting.
project = SHOP AND statusCategory = Done AND resolution IS EMPTYWhat trips people up first
Bugs that are closed on the board but still counted as open. A new or customised workflow often moves work items into Done or Closed without setting a resolution, so Unresolved filters, the Created vs Resolved report and many gadgets keep counting them. The reverse also happens: someone adds a resolution value named Unresolved or None, which Jira treats as resolved. Fix the workflow so transitions into done statuses set a resolution, through a transition screen or a post function, and clear it when an item is reopened. Then run statusCategory = Done AND resolution IS EMPTY to find the items to repair.
In practice
Using Jira in practice
Designing a defect workflow that produces usable data
Start with as few statuses as the team will actually use: Open, In Progress, In Review or Ready for Test, and Done, with a separate resolution for each way a bug can end, such as Fixed, Won’t Fix, Duplicate and Cannot Reproduce. Resist a status per team handover; it multiplies transitions and makes cycle time meaningless. Require only the fields that drive decisions: environment, severity or priority, the version where the bug was found, and steps to reproduce. Agree which of priority and severity you use, because teams that record both inconsistently cannot report on either. Make reopening an explicit transition that clears the resolution, so reopened bugs count as open again and can be measured.
JQL filters every QA lead should save
A small set of shared filters answers most questions about quality and keeps everyone looking at the same numbers. Save them with clear names, share them with the space, and build one dashboard from them for release readiness. Prefer functions such as unreleasedVersions() and startOfWeek() over hard-coded versions and dates, so the filters stay correct without editing. Remember the not-equals trap: any condition that excludes a value also excludes empty fields unless you add an IS EMPTY clause.
-- Bugs found this week, by anyone
project = SHOP AND issuetype = Bug AND created >= startOfWeek()
-- Reopened bugs: resolved before, unresolved now
project = SHOP AND issuetype = Bug AND resolution = Unresolved
AND status WAS IN (Done) BEFORE now()
-- Bugs fixed in the last 14 days, for regression focus
project = SHOP AND issuetype = Bug AND resolution = Fixed
AND resolved >= -14d
-- Everything except duplicates, including unresolved items
project = SHOP AND issuetype = Bug
AND (resolution != Duplicate OR resolution IS EMPTY)Raising bugs from CI with the REST API
A nightly suite that fails should leave a trace someone will triage, not a red build nobody opens. Atlassian’s own GitHub Actions for Jira, the gajira family, are deprecated and unmaintained, so call the REST API directly. Version 3 expects the description in Atlassian Document Format, a JSON document structure rather than plain text or wiki markup. Authenticate with an Atlassian account email and API token stored as secrets; tokens expire within a year, so put renewal in someone’s calendar. Raise one bug per failing run rather than per test, link to the run, and label it so a filter can find automated reports.
# .github/workflows/nightly.yml (excerpt): runs after the test job fails
report-to-jira:
needs: tests
if: failure()
runs-on: ubuntu-latest
steps:
- name: Raise a Jira bug for the failed run
env:
JIRA_URL: https://your-site.atlassian.net
AUTH: ${{ secrets.JIRA_EMAIL }}:${{ secrets.JIRA_API_TOKEN }}
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
run: |
# v3 requires Atlassian Document Format for the description
curl -sf -u "$AUTH" -H "Content-Type: application/json" \
-X POST "$JIRA_URL/rest/api/3/issue" \
-d @- <<EOF
{
"fields": {
"project": { "key": "SHOP" },
"issuetype": { "name": "Bug" },
"summary": "Nightly regression failed on ${{ github.ref_name }}",
"labels": ["automated", "nightly"],
"description": {
"type": "doc", "version": 1,
"content": [{ "type": "paragraph", "content": [
{ "type": "text", "text": "Run: $RUN_URL" }
]}]
}
}
}
EOFAutomation rules without surprises
Use automation for the repetitive mechanics of defect handling: assign new bugs by component, add the reporter’s environment, transition a bug to Ready for Test when its pull request merges, and comment on linked stories when a bug is resolved. Keep each rule small, give it an owner and a description, and scope it to the spaces that need it rather than the whole site. On Cloud, every executed trigger, condition, branch and action counts as a step against a monthly allowance pooled across the organisation: 150 for the whole site on Free, and 400, 750 or 1,000 per user on Standard, Premium and Enterprise. Check the usage page monthly, because a rule that fires on every field edit can consume an allowance quickly, and extra usage becomes billable from 3 December 2026.
Adding test management and planning for Data Center’s end
When the team needs test cases, runs and coverage, choose a test management app rather than modelling tests as custom work types. Xray stores tests as Jira work items, which suits JQL-heavy teams and regulated traceability; Zephyr keeps a separate test library linked to work items, which keeps spaces cleaner. Either way, budget for licences sized to every Jira user on the site, and connect automation results through the app’s API so executions are not entered by hand. If you are on Data Center, plan now: there are no new subscriptions after 30 March 2026, expansions end on 30 March 2028, and end of life is 28 March 2029. Check that your apps, including test management, have Cloud equivalents and a migration path before committing to dates.
Pitfalls
Common pitfalls
Done statuses that never set a resolution
Why it happens: Workflows created or edited without a resolution step leave work items unresolved in the eyes of every report, while the board shows them as done.
The fix: Set a resolution on every transition into a Done-category status, clear it on reopen, and audit with statusCategory = Done AND resolution IS EMPTY.
A resolution value called Unresolved or None
Why it happens: It looks like a sensible default, but any value in the resolution field means resolved to Jira, so every bug given that value disappears from open counts.
The fix: Remove such values from the resolution list and from transition screens, and repair affected items in bulk. Atlassian’s guidance strongly advises against them.
Not-equals filters that miss unresolved bugs
Why it happens: In JQL, a condition such as resolution != Fixed does not match items where resolution is empty, so a filter meant to show everything except fixed bugs silently drops all open ones.
The fix: Add OR resolution IS EMPTY, or the equivalent for other fields, whenever a filter excludes values from an optional field.
Following guides written for issues, projects and the old automation model
Why it happens: Atlassian renamed issues to work items in 2025 and projects to spaces in 2026, and Cloud automation is now metered in steps rather than rule runs. Older guides describe menus and limits that no longer exist.
The fix: Use current support.atlassian.com pages, map old terms to new ones in internal guides, and size automation by steps per user. The REST API still uses issue, so code examples remain valid.
Using the deprecated gajira GitHub Actions
Why it happens: Atlassian’s gajira actions, such as gajira-create, still appear in tutorials, but the repositories state that they are no longer maintained and the actions are deprecated.
The fix: Call the REST API v3 directly with curl or a small script, as in the CI example above, or use a maintained integration from your test management app.
Field sprawl from one field per request
Why it happens: Adding a field is easy and each request seems reasonable. Over time screens become long, people skip fields, and Cloud now enforces limits such as 700 fields per space and 150 work types per space.
The fix: Require an owner and a reporting purpose for each new field, prefer shared fields over near-duplicates, and remove fields no filter or report uses in a quarterly review.
Compared
Jira alternatives compared
| Tool | Free tier | Pricing basis | Self-hosted option | Test case management |
|---|---|---|---|---|
| Jira | Up to 10 users, 2 GB storage | Per user, monthly or annual tiers | Data Center, closed to new customers | Marketplace apps such as Xray, Zephyr |
| Azure DevOps | First 5 Basic users free | Per user, Basic or Basic plus Test Plans | Azure DevOps Server | Azure Test Plans, in Basic plus Test Plans |
| Linear | 250 issues, 2 teams, unlimited members | Per user on Basic and Business | Not listed on its pricing page | No native test cases |
Head-to-head comparisons
Jira test management toolsFAQ
Frequently asked questions
What are the best Jira alternatives?
The alternatives most often weighed against Jira are Azure DevOps, Linear and YouTrack. The comparison on this page sets them side by side on free tier, pricing basis, self-hosted option and test case management, and the verdict above says where Jira is the wrong choice and which of them to pick instead.
Is Jira free?
Jira Cloud has a Free plan for up to 10 users with 2 GB of storage, community support and a small automation allowance of 150 steps a month for the site. Beyond 10 users you need a paid plan, Standard, Premium or Enterprise, priced per user. Test management apps such as Xray and Zephyr are paid separately on the Marketplace and are priced on the number of Jira users on the site.
Can Jira manage test cases without an app?
Not properly. Jira has no test case entity, no test run and no record of an execution against a build or environment. Teams can create a custom Test work type and track results in fields or subtasks, but reporting on coverage, history and reruns quickly becomes manual. For more than a handful of tests, use a test management app such as Xray or Zephyr, or a standalone tool such as TestRail that integrates with Jira.
Why do closed bugs still show as unresolved in Jira?
Because Jira decides whether a work item is finished by its resolution field, not its status. If the workflow moves a bug to Done or Closed without setting a resolution, the bug stays unresolved in filters, reports and gadgets. Update the workflow so transitions into done statuses set a resolution, then find affected items with statusCategory = Done AND resolution IS EMPTY and bulk-edit them.
Is Jira Data Center being discontinued?
Yes, on a published schedule. Atlassian stopped selling new Data Center subscriptions on 30 March 2026. Existing customers can renew, and can buy expansions and upgrades until 30 March 2028. End of life is 28 March 2029, after which there are no new security fixes. Jira Server support already ended on 15 February 2024. Plan app compatibility, including test management, as part of any Cloud migration.
Are issues now called work items in Jira?
In Jira Cloud, yes. From 2025 Atlassian began replacing issue with work or work item in the interface and documentation, and in 2026 projects became spaces. Atlassian said existing APIs are unchanged and continue to use issue, so REST endpoints such as /rest/api/3/issue and JQL fields such as issuetype still work. Data Center was not part of the change.
How do I create a Jira bug from a CI pipeline?
Call the REST API: POST to /rest/api/3/issue with the project key, the Bug work type, a summary and a description in Atlassian Document Format, authenticating with an Atlassian account email and API token over basic auth. Store the token as a CI secret and remember it expires within a year. Atlassian’s gajira GitHub Actions are deprecated, so a direct API call is the reliable option.
Jira vs Azure DevOps for defect tracking?
Both link defects to stories and releases and support custom workflows. Azure DevOps suits teams already on Azure Repos and Pipelines, and includes test case management in its Basic plus Test Plans licence. Jira suits teams in the Atlassian estate or those wanting a wide app ecosystem, with test management added through apps such as Xray or Zephyr. Choose the one where your code, pipelines and planning already live.
Alternatives
Jira alternatives worth weighing
Azure DevOps
Microsoft’s lifecycle suite: Boards, Repos, Pipelines, Test Plans and Artifacts, as a cloud service or the self-hosted Azure DevOps Server.
Linear
Fast, opinionated issue tracker favoured by product teams for its speed and deliberate simplicity.
YouTrack
JetBrains issue tracker with a powerful query language and flexible workflow customisation.
Resources
Where to go next
Keep going
Prepare, or get it done
Picking the wrong tool costs more than picking late.
QAble advises on toolchain decisions and then implements them, with engineers who have run these tools on real delivery. Start with a free QA audit.