View all services
Talk to QA Advisor
Browse the Knowledge Hub211 resources
Tools Library · We run this

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

Reviewed by Viral Patel

Co-Founder, QAbleLast reviewed 13 October 2026

At a glance

Jira at a glance

Official site
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

  1. Create a Jira Cloud site on the Free plan and a software space for the product under test.
  2. Check the Bug work type, and add only the fields you will report on: environment, severity, found in version.
  3. Edit the workflow so every transition into a Done status sets a resolution.
  4. Create versions for upcoming releases so bugs can carry a fix version.
  5. Save a filter for unresolved bugs in the next release and add it to a dashboard.
  6. 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/myself

A 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 EMPTY

What 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" }
                ]}]
              }
            }
          }
          EOF

Automation 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

ToolFree tierPricing basisSelf-hosted optionTest case management
JiraUp to 10 users, 2 GB storagePer user, monthly or annual tiersData Center, closed to new customersMarketplace apps such as Xray, Zephyr
Azure DevOpsFirst 5 Basic users freePer user, Basic or Basic plus Test PlansAzure DevOps ServerAzure Test Plans, in Basic plus Test Plans
Linear250 issues, 2 teams, unlimited membersPer user on Basic and BusinessNot listed on its pricing pageNo native test cases

Head-to-head comparisons

Jira test management tools

FAQ

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

Ready

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.

Talk to QA Advisor