View all services
Talk to QA Advisor
Browse the Knowledge Hub211 resources
Tools Library · Review and guide

Zephyr review: pricing, alternatives and setup

Zephyr, called Zephyr Scale until April 2025, is SmartBear’s test management app for Jira. It keeps test cases, test cycles and test plans in its own library rather than as Jira work items, with folders, versioning, reusable steps, parameters and traceability reports. The lighter Zephyr Squad is now Zephyr Essential, and Zephyr Enterprise remains a separate standalone product.

QAble has evaluated this tool and works alongside it. The factual sections are complete; our view is bounded to what we have actually seen rather than a long-term verdict.

last reviewed
13 October 2026
version covered
Zephyr 15 for Jira Cloud (formerly Zephyr Scale)
licence
Commercial

Reviewed by Viral Patel

Co-Founder, QAbleLast reviewed 13 October 2026

At a glance

Zephyr at a glance

Official site
Vendor
SmartBear
Category
Test management
Licence
Commercial
Platforms
Jira Cloud, Jira Data Center
Integrates with
Jira, Jenkins, Bamboo, JUnit XML, Cucumber, REST API, Rovo
First released
2007
Version reviewed
Zephyr 15 for Jira Cloud (formerly Zephyr Scale)

Verdict

Our verdict on Zephyr

Strengths

  • Test cases live in a dedicated library with folders, so Jira spaces are not flooded with test work items
  • Test case versioning is on by default, with history and comparison between versions
  • Call to Test, parameters and test data tables make steps reusable and data-driven
  • Coverage, traceability matrix and execution reports come built in, alongside Jira gadgets
  • REST API uploads JUnit, Cucumber or custom JSON results and can auto-create test cases

Weaknesses

  • Naming changed in 2025, so documentation, listings and tutorials use three different names
  • Priced on every Jira user on the site, not just testers
  • Test cases are not Jira work items, so JQL cannot query them like issues
  • Moving from Zephyr Essential (Squad) is a beta migration that requires a new licence

Our take

Zephyr suits teams that want structured test management inside Jira without turning every test into a Jira work item: a separate library with folders, versioned test cases, reusable steps and cycles, linked to stories and bugs for traceability. It keeps spaces tidy and feels closer to a dedicated test tool than Xray does. QAble has evaluated Zephyr rather than maintained a long-running test estate in it, so treat this as a bounded take. Be precise about names before buying: Zephyr Scale is now just Zephyr, in Standard and Advanced editions; Zephyr Squad is now Zephyr Essential; and moving from Essential to Zephyr is a beta migration that needs a new licence. Licences cover every Jira user on the site, and tests outside Jira’s data model are not reachable with ordinary JQL.

We have evaluated this tool rather than maintained a long-running suite on it, so this is a bounded view rather than a long-term verdict. The rest of this page is factual.

How it works

How Zephyr works

A test library beside Jira, not inside it

Zephyr stores test cases, test cycles, test plans and executions as its own objects, organised in folders, rather than as Jira work items. Each test case has a key in the form SHOP-T123 and links bidirectionally to any Jira work type, so a story shows its test cases and a bug shows the test that found it. The design keeps Jira spaces free of test volume and allows test-specific behaviour such as folder hierarchies and per-step results. The trade-off is reach: Jira’s own search, JQL and work item permissions do not apply to test cases in the way they do to stories, so reporting on tests goes through Zephyr’s reports, gadgets and API.

Cycles, plans and executions

A test cycle groups the test cases to run for a purpose, such as a sprint’s regression or a release candidate, and each execution of a test case records its result against that cycle. Test plans group cycles to track progress across a whole release or version. This mirrors how test teams already talk about work, and it is why Zephyr maps neatly onto a release calendar. Automated uploads create a new cycle each time, which can be named and placed in a folder from the upload request, so manual and automated results sit in the same structure and feed the same coverage reports.

Versioned, modular test cases

Version control for test cases is enabled by default: editing a test case changes only its current version, older versions stay available, and the History tab compares them. Call to Test lets one test case include another as a step, even across several levels, and changes to the called steps flow to every caller. Parameters make those called modules adaptable, and a test data table turns one test case into many executions, one group of steps per row. Together these support large manual and hybrid suites without copy-and-paste drift, which is where many teams’ spreadsheets and wiki pages fail.

Automation through the Cloud API

Zephyr does not run your automated tests; your CI does, then uploads the report. The Cloud REST API at api.zephyrscale.smartbear.com/v2, with regional hosts for the EU, Germany and Australia, accepts JUnit XML, Cucumber JSON or a custom JSON format and creates a test cycle from the results. Results map to test cases by a key in the method name or a Cucumber tag, then by fully qualified name, and with autoCreateTestCases set to true unmatched tests are created. Authentication is a bearer token generated per user under Zephyr API Access Tokens. The legacy names in the host, zephyrscale, and the Jenkins plugin ID, tm4j-automation, are leftovers of earlier branding.

Strengths

What it does well

Structured test repository

Folders, labels, components, priorities and statuses organise thousands of test cases in a way that suits test design, rather than Jira’s backlog structure. Test cases can be cloned, moved and edited in bulk, and a Jira work item can show and create its linked test cases without leaving the work item view.

Reusable steps with Call to Test

Common sequences, such as logging in or creating a customer, live in one test case that others call as a step, with parameters to vary the values. Updating the source updates every caller, which keeps large manual suites consistent and cuts the cost of a user interface change.

Data-driven test design

A test data table attached to a test case unfolds into one group of steps per row during execution. One well-written case covers many inputs, and the results show which rows passed or failed, without maintaining near-identical copies of the same test case.

Coverage and traceability reports

Zephyr provides 27 test execution reports and four traceability reports: a coverage report, a traceability report, a traceability matrix and a traceability tree. They answer release questions such as which stories lack tests or which requirements have failing executions, and Jira dashboard gadgets bring the key numbers onto team dashboards.

Automation result uploads

JUnit XML, Cucumber JSON and a custom JSON format can be uploaded through the API, the official Jenkins plugin or Bamboo integration. Feature files for BDD test cases can be downloaded as a zip, so scenarios written in Zephyr can be run by Cucumber. Each upload becomes a test cycle with its own name, folder and Jira version.

Rovo agent and AI assistance

The Zephyr Agent for Rovo, live for Standard and Advanced customers since July 2026 at no extra cost, proposes test cases from Jira work items for a person to approve, labelling them AI_generated, and version 15.4 added coverage gap detection. Treat generated cases as drafts that need review.

Pricing

Zephyr pricing and licensing

Zephyr is a commercial Jira app sold on the Atlassian Marketplace and paid via Atlassian. As with all Marketplace apps, the licence must match the Jira site’s user tier, so every Jira user is counted. Cloud has Standard and Advanced editions, each with a free trial; Zephyr Essential, formerly Squad, is a separate listing. No list prices are quoted here because none were shown on SmartBear’s or the Marketplace’s pricing pages when we checked.

  • Licence model: per Jira user tier via the Atlassian Marketplace, matching the Jira site; SmartBear’s FAQ notes that Atlassian requires the same licence level as the base product.
  • Zephyr Standard: the core test management features plus data residency, record-and-play and no-code web and API automation, AI step suggestions, the Rovo agent and the SmartBear MCP server.
  • Zephyr Advanced: Standard plus cross-browser runs in Chrome, Firefox, Edge and Safari, three parallel runs, and SMS and email testing.
  • Zephyr Essential: the former Zephyr Squad, a separate and lighter app; moving to Zephyr requires a new licence, with a pro-rata discount available on request.
  • Data Center: still listed for Jira Data Center 11, with a 30-day trial, but subject to Atlassian’s Data Center end of life on 28 March 2029.
  • Hidden costs: licences sized to all Jira users, CI scripting for uploads, and the effort to migrate data if you switch tools later.

Checked against the vendor’s own pages on 13 October 2026. Pricing changes; confirm on the official site before buying.

Getting started

Getting started with Zephyr

Setup, step by step

  1. Install Zephyr from the Atlassian Marketplace and start a trial of the Standard or Advanced edition.
  2. Open Zephyr in the Jira space you test and create a folder structure for test cases by feature.
  3. Write a test case, link it to a story, and add it to a test cycle for the current sprint.
  4. Execute the cycle, recording step results and raising a Jira bug from a failed step.
  5. Generate a token under Zephyr API Access Tokens in Jira’s app settings.
  6. Upload a JUnit XML report from CI with autoCreateTestCases set to true.

Install

# Zephyr is a Jira app: install it from the Atlassian Marketplace
# https://marketplace.atlassian.com/apps/1213259/
# Then create a Zephyr API access token for CI uploads

A first example

# Upload JUnit XML results to Zephyr Cloud (API v2).
# Use eu., de. or au. in front of the host if your data lives there.
ZEPHYR=https://api.zephyrscale.smartbear.com/v2

# Each upload creates a new test cycle; the optional testCycle part names it.
# It must be sent as application/json or Zephyr ignores it.
curl -sf -H "Authorization: Bearer $ZEPHYR_TOKEN" \
  -F "file=@target/surefire-reports/TEST-com.example.CheckoutTest.xml;type=application/xml" \
  -F 'testCycle={"name":"Nightly regression","description":"main branch"};type=application/json' \
  "$ZEPHYR/automations/executions/junit?projectKey=SHOP&autoCreateTestCases=true"

What trips people up first

Working out which product you are reading about. SmartBear renamed Zephyr Scale to Zephyr and Zephyr Squad to Zephyr Essential on 2 April 2025, but the API host still says zephyrscale, the Jenkins plugin ID is tm4j-automation, and the documentation is split across Zephyr, Zephyr Scale Cloud, Zephyr Squad Cloud and Data Center sites. Instructions for Squad, where tests are Jira work items, do not apply to Zephyr, where they are not. Confirm your app on the Marketplace listing, then use the docs and API reference for that product only. The other early trap is an upload that returns an error because no test case matched and autoCreateTestCases was left at its default of false.

In practice

Using Zephyr in practice

Organising the library before it grows

Set up the folder structure before importing or writing many test cases, because it is how testers will find anything later. Organise by product area or capability rather than by sprint, and use test cycles, not folders, to represent sprints and releases. Agree which fields carry meaning, such as component, priority and status, and keep custom fields few. Write common sequences once as callable test cases and use Call to Test with parameters rather than copying steps. Link every test case to the stories it covers from the start, since coverage and traceability reports depend on those links. Decide early how automated tests will be identified, by key in the method name, annotation or Cucumber tag, so uploads update the right cases.

Linking JUnit tests to existing test cases

Zephyr matches JUnit results by parsing a test case key from the method name, then by the fully qualified method name, and only then creates new cases if autoCreateTestCases is true. The simplest durable convention for JUnit 5 is to put the key in the method name, with an underscore in place of the hyphen, such as SHOP_T12_goldMemberDiscount. For JUnit 4 suites, SmartBear’s zephyrscale-junit-integration library adds a @TestCase annotation and a Surefire listener that writes a result file for the custom upload format. Without a key, auto-created cases are matched by fully qualified name, so renaming a class or method creates a new case.

import org.junit.jupiter.api.Test;

class CheckoutTest {

  // Zephyr parses the key SHOP-T12 from the method name
  @Test
  void SHOP_T12_goldMembersGetTenPercentOff() {
    // ...
  }

  // No key: matched by fully qualified name, created if
  // autoCreateTestCases=true. Renaming it creates a new case.
  @Test
  void guestCheckoutWithSavedBasket() {
    // ...
  }
}

// JUnit 4 alternative: com.smartbear:zephyrscale-junit-integration:2.0.5
// with @TestCase(key = "SHOP-T12") on the method and the Surefire
// listener com.smartbear.zephyrscale.junit.ExecutionListener

Uploading results from GitHub Actions

SmartBear does not publish an official GitHub Action for Zephyr, so call the API from a workflow step. Store the access token as a secret, run the upload with if: always() so failing runs are recorded, and name the test cycle after the branch and run so it can be found later. Surefire writes one XML file per test class, and the JUnit endpoint accepts either a single file or a zip of many, up to 10 MB, so zip the reports folder. Associate the cycle with a Jira version through jiraProjectVersion in the testCycle part if you want release-level reporting.

# .github/workflows/tests.yml (excerpt)
      - name: Run tests
        run: mvn -B verify
      - name: Upload results to Zephyr
        if: always()
        env:
          ZEPHYR: https://api.zephyrscale.smartbear.com/v2
          ZEPHYR_TOKEN: ${{ secrets.ZEPHYR_TOKEN }}
        run: |
          # One XML per test class: zip them for a single upload (max 10 MB)
          cd target/surefire-reports && zip -q ../junit-results.zip TEST-*.xml && cd -
          CYCLE='{"name":"CI ${{ github.ref_name }} #${{ github.run_number }}"}'
          curl -sf -H "Authorization: Bearer $ZEPHYR_TOKEN" \
            -F "file=@target/junit-results.zip;type=application/x-zip-compressed" \
            -F "testCycle=$CYCLE;type=application/json" \
            "$ZEPHYR/automations/executions/junit?projectKey=SHOP&autoCreateTestCases=true"

Cucumber scenarios with Zephyr test cases

Zephyr supports BDD test cases whose scripts are Gherkin. The integration works in both directions. Download the feature files for a space as a zip from the automations/testcases endpoint, run them with Cucumber and its JSON plugin, then upload the JSON, zipped and under 2 MB, to the Cucumber endpoint. Scenarios are tied to test cases with a tag such as @TestCaseKey=SHOP-T21, and scenarios without one can be auto-created. Keep one source of truth: if scenarios are edited in Zephyr, regenerate the features on each run rather than editing them in Git. On Cucumber-JVM 8, remember that the json plugin needs a Jackson dependency.

# Download feature files for the SHOP space
curl -sf -H "Authorization: Bearer $ZEPHYR_TOKEN" -H "Accept: application/zip" \
  "$ZEPHYR/automations/testcases?projectKey=SHOP" -o features.zip
unzip -o features.zip -d src/test/resources/features

# Run, then upload the Cucumber JSON as a zip (max 2 MB)
mvn -B verify -Dcucumber.plugin=json:target/cucumber.json || true
(cd target && zip -q cucumber.zip cucumber.json)
curl -sf -H "Authorization: Bearer $ZEPHYR_TOKEN" \
  -F "file=@target/cucumber.zip;type=application/x-zip-compressed" \
  "$ZEPHYR/automations/executions/cucumber?projectKey=SHOP"

Choosing between Zephyr, Essential and Enterprise

Three products now share the name, and choosing the wrong one is expensive. Zephyr, the former Scale, is the full Jira app with its own library, versioning, reusable steps and reports, in Standard and Advanced editions that differ mainly in automation and AI capacity. Zephyr Essential, the former Squad, is lighter and models tests differently; SmartBear provides a beta upgrade path to Zephyr that requires a new licence, and its guide expects BDD data and execution history to become available during the first quarter of 2027. Zephyr Enterprise is a standalone test management product with Jira integration, still sold and released, with version 8.8.0 in August 2026. For a new Jira-centred team, evaluate Zephyr Standard first.

Pitfalls

Common pitfalls

Following Zephyr Squad or Essential instructions for Zephyr

Why it happens: The products share a name but not a data model. Squad, now Essential, treats tests as Jira work items; Zephyr keeps them in its own library, with different APIs and screens.

The fix: Check the Marketplace listing you have installed and use only the matching documentation site and API reference. The Zephyr Cloud API lives at api.zephyrscale.smartbear.com/v2.

Uploads that fail with no matching test cases

Why it happens: autoCreateTestCases defaults to false, so a first upload of tests that carry no Zephyr keys finds nothing to update and returns an error.

The fix: Set autoCreateTestCases=true for the first upload, or put keys in method names or Cucumber tags, then keep names stable.

A new test case for every renamed test

Why it happens: Without a key, results are matched by fully qualified method name, so moving or renaming a test creates a new case and splits its history.

The fix: Embed the test case key in method names, use @TestCaseKey tags for Cucumber, or the @TestCase annotation for JUnit 4, for any test whose history matters.

Ignored test cycle names and folders

Why it happens: The testCycle form part must be sent with the application/json content type. Sent as plain text, the API ignores it and creates a cycle with default details.

The fix: Add ;type=application/json to the curl form field, as in the examples, and check the cycle key in the response.

Oversized uploads

Why it happens: JUnit and custom uploads are limited to 10 MB and Cucumber uploads to 2 MB, and large suites with verbose output exceed them.

The fix: Zip reports before upload, strip captured output from reports where possible, and split very large suites into several uploads.

Assuming JQL can report on test cases

Why it happens: Test cases, cycles and executions are Zephyr objects, not Jira work items, so filters and JQL-based dashboards do not see them as they see stories and bugs.

The fix: Use Zephyr’s coverage and traceability reports and Jira gadgets for test data, and the REST API for anything custom.

Compared

Zephyr alternatives compared

ToolWhere tests liveHostingWho must be licensedJQL on tests
ZephyrOwn test library, linked to JiraJira Cloud and Data Center appEvery Jira user on the siteNo, test cases are not work items
XrayAs Jira work itemsJira Cloud and Data Center appEvery Jira user on the siteYes, tests are work items
TestRailStandalone tool with a Jira integrationCloud, or on-premise on higher plansEach TestRail userNo, separate tool

FAQ

Frequently asked questions

What are the best Zephyr alternatives?

The alternatives most often weighed against Zephyr are Xray, TestRail and Qase. The comparison on this page sets them side by side on where tests live, hosting, who must be licensed and jql on tests, and the verdict above says where Zephyr is the wrong choice and which of them to pick instead.

Is Zephyr Scale still available?

Yes, under a new name. On 2 April 2025 SmartBear unified its Jira test management apps under the Zephyr name: Zephyr Scale became Zephyr, sold in Standard and Advanced editions, and Zephyr Squad became Zephyr Essential. The product, data model and API continued; the API host and some plugin IDs still carry the old names. Zephyr Enterprise, a standalone product, is separate and still sold.

What happened to Zephyr Squad?

It was renamed Zephyr Essential in April 2025 and continues to receive releases. SmartBear offers an upgrade path from Squad to Zephyr, currently in beta, which requires a new licence; a pro-rata discount is available on request when more than six months remain. No end-of-sale or end-of-life date for Squad or Essential had been announced when this page was checked.

Zephyr vs Xray: which is better?

They model tests differently. Xray makes tests and executions Jira work items, so JQL and Jira permissions apply directly, which suits strict traceability. Zephyr keeps a separate library linked to Jira, which keeps spaces tidier and makes versioning, folders and reusable steps more natural, at the cost of JQL reach over tests. Both are Marketplace apps priced on the Jira site’s user tier.

How much does Zephyr cost?

Zephyr is priced through the Atlassian Marketplace by Jira user tier, and the tier must match the Jira site, so every Jira user is licensed. Cloud editions are Standard and Advanced, with free trials, and Data Center has a 30-day trial. Neither SmartBear’s product page nor the Marketplace pricing tab showed list prices when we checked, so get a quote for your tier from the Marketplace or SmartBear.

How do I send automated test results to Zephyr?

Generate an API access token, then POST your report to the Zephyr Cloud API: automations/executions/junit for JUnit XML, automations/executions/cucumber for zipped Cucumber JSON, or automations/executions/custom for the custom format, with projectKey and optionally autoCreateTestCases=true. Each upload creates a test cycle. The official Jenkins plugin and Bamboo integration do the same from those tools.

Does Zephyr support Cucumber and BDD?

Yes. Zephyr test cases can have Gherkin scripts, and the API can download them as feature files in a zip. Scenarios are linked to test cases with tags in the form @TestCaseKey=SHOP-T21. After a run, upload the Cucumber JSON report, zipped and under 2 MB, to the Cucumber endpoint to record results in a new test cycle.

Is Zephyr available for Jira Data Center?

Yes. Zephyr and Zephyr Essential are still listed for Jira Data Center 11, and SmartBear releases new versions only for Jira versions that have not reached end of support. Atlassian stopped selling new Data Center subscriptions on 30 March 2026 and ends Data Center on 28 March 2029, so plan a Cloud path for Zephyr on the same timeline as Jira.

Alternatives

Zephyr alternatives worth weighing

Resources

Where to go next

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