<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Migrate TestRail to Zephyr]]></title><description><![CDATA[Migrate TestRail to Zephyr]]></description><link>https://blog.getrunshift.com</link><image><url>https://cdn.hashnode.com/uploads/logos/6a65f5b236e1d08ac75860d7/1e2cd101-b277-4a69-b271-9592c62c0dc2.png</url><title>Migrate TestRail to Zephyr</title><link>https://blog.getrunshift.com</link></image><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Jul 2026 15:38:49 GMT</lastBuildDate><atom:link href="https://blog.getrunshift.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[TestRail to Zephyr Scale Migration: The Naming Trap, CSV vs. REST API, and What Actually Breaks]]></title><description><![CDATA[If you're planning a TestRail to Zephyr Scale migration in 2026, there are three things worth knowing before you start that most documentation doesn't make clear upfront: the product has been renamed ]]></description><link>https://blog.getrunshift.com/testrail-to-zephyr-scale-migration-the-naming-trap-csv-vs-rest-api-and-what-actually-breaks</link><guid isPermaLink="true">https://blog.getrunshift.com/testrail-to-zephyr-scale-migration-the-naming-trap-csv-vs-rest-api-and-what-actually-breaks</guid><category><![CDATA[testrail]]></category><category><![CDATA[JIRA]]></category><category><![CDATA[atlassian]]></category><category><![CDATA[QA]]></category><category><![CDATA[Devops]]></category><dc:creator><![CDATA[Runshift Team]]></dc:creator><pubDate>Sun, 26 Jul 2026 14:27:01 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a65f5b236e1d08ac75860d7/4810eaaa-6829-4abf-aec4-5770d413bb99.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you're planning a TestRail to Zephyr Scale migration in 2026, there are three things worth knowing before you start that most documentation doesn't make clear upfront: the product has been renamed in a way that's easy to get wrong, the "simple" import method only migrates a fraction of your data, and the timing might matter more than you think.</p>
<h2>Atlassian is sunsetting Data Center — and that changes the calculus</h2>
<p>Atlassian stopped selling new Data Center licenses on 30 March 2026, with full end-of-life set for 2029. If your organization has any Jira migration on the roadmap this year, there's a good chance it's Cloud-bound — and if TestRail is still your test management tool, this is a natural point to move that at the same time rather than as a separate project six months later. Migrating test data into a Zephyr Scale instance that's about to move from Data Center to Cloud anyway often means doing the work twice.</p>
<h2>The naming trap: "Zephyr Scale" doesn't exist anymore (sort of)</h2>
<p>Here's where a lot of migration research goes sideways early. SmartBear renamed its Zephyr product line, and the naming is genuinely confusing if you're not deep in it:</p>
<ul>
<li>What used to be called <strong>Zephyr Scale</strong> is now marketed as <strong>"Zephyr — Test Management and Automation for Jira"</strong> — the flagship, full-featured product.</li>
<li>What used to be called <strong>Zephyr Squad</strong> is now <strong>"Zephyr Essential — Test Management for Jira"</strong> — a lighter-weight tool with a different data model entirely.</li>
</ul>
<p>Most people still search "Zephyr Scale" out of habit, so that's the term used here — but the products themselves are genuinely different, not just renamed.</p>
<p>It gets more confusing. SmartBear's own support documentation confirms that <strong>licenses for legacy Zephyr Squad Cloud were automatically rebranded as "Zephyr Essential" in the Atlassian Marketplace and Jira's app management screen — for billing purposes only.</strong> That means an organization can see "Zephyr Essential" listed on their instance without having actually upgraded to the new Essential experience at all. If you're planning a migration into the flagship Zephyr product, checking the label alone isn't enough to confirm what you're actually working with.</p>
<h2>CSV import only gets you part of the way there</h2>
<p>This is the gap that catches most teams by surprise. Zephyr Scale's CSV import — the method most guides default to, because it's the simplest — only migrates test cases and their fields. It does not bring across:</p>
<ul>
<li>Test cycles or test plans</li>
<li>Execution history</li>
<li>Attachments</li>
<li>Issue links to Jira</li>
</ul>
<p>If your migration is genuinely just "I need my test case library moved over," CSV import is fast and sufficient. But most real migrations — anything with meaningful execution history, traceability requirements, or attachment volume — need more than that, and CSV simply can't reach it.</p>
<h2>The REST API is where the real migration happens</h2>
<p>Zephyr Scale's REST API is a fully supported part of the product (same standing as CSV import — not an unsupported workaround), and it's the only path that reaches test cycles, executions, attachments, and issue links. The tradeoff is real: it means writing or adapting a script rather than clicking through an import wizard.</p>
<p>One distinction worth being precise about: the API itself is supported by SmartBear. Any script you or a tool writes against it is your own code — normal and expected, just worth knowing going in, since it means debugging is on you, not a support ticket.</p>
<h2>The error you're most likely to hit</h2>
<p>If you're scripting a migration via the API, the most common failure isn't a bug in your code — it's a mismatch in how the two platforms identify users. Jira Cloud identifies users by an internal <code>accountId</code>, not by username or email (a platform-wide change made in 2019 for GDPR reasons). TestRail identifies users by username or email. Any API field that references a person — an owner, an assignee, an executor — will throw a <code>400: user not found</code> error if your script passes a TestRail username straight through, or if that person doesn't have a Jira account in the target instance yet.</p>
<p>The fix is straightforward once you know to look for it: provision every TestRail user as a Jira user first, and build a mapping table using Jira's user search endpoint before you migrate anything — not as a fix mid-script.</p>
<h2>Cloud vs. Data Center changes your actual endpoints</h2>
<p>Worth stating plainly: if you're setting up a new migration today, you're very likely on Jira Cloud, given the sunset timeline above. But Zephyr Scale Cloud and Zephyr Scale Data Center run genuinely different APIs — different versions, different base URLs, different authentication. Instructions written for one won't directly apply to the other, and feature parity between the two isn't guaranteed.</p>
<h2>Where to go from here</h2>
<p>This covers the shape of the problem — the naming, the CSV ceiling, the API reality, and the version split. Actually executing a migration means field-by-field mapping, a real API workflow (folder creation, test case creation, cycle and execution linking, attachment handling), and knowing which errors are coming before they happen.</p>
<p>That's the gap the <a href="https://runshift7.gumroad.com/l/zuolgs">TestRail → Zephyr Scale Migration Guide</a> fills — a complete, Cloud-first playbook covering both the CSV and REST API paths, full field mapping, Cloud/Data Center-specific guidance, and the troubleshooting most teams only learn by hitting it themselves.</p>
]]></content:encoded></item></channel></rss>