Issue I’m facing: I’ve got around 200 standard test cases that I can import easily using the bulk CSV importer in Jira Xray. However, I sometimes need to add additional test steps to specific existing test cases. While I can reference the test case key in my CSV file, this approach only works inconsistently.
What works for me: When I copy the exact text from my original import file and add a new line (which becomes a new test step) while referencing the test case key, the new step gets added successfully.
The problem: If I modify any of the existing test steps that are already there, the new step doesn’t get added at all.
What I need: I’m looking for either a method to reference individual test steps so I can upload only the new ones, or a way to make the import ignore existing steps and their content. Has anyone found a reliable way to do this?
Hit this exact problem six months ago during a big test suite migration. That CSV behavior isn’t a bug - Xray replaces all step content instead of adding to it. Switching to the REST API fixed it for me. Use the /rest/raven/1.0/api/test/{testKey}/step endpoint to add individual steps without messing with existing ones. I built a simple Python script that reads new steps from CSV and posts them through API calls. If you’re stuck with CSV, create ‘staging’ versions of your test cases first, add new steps there, then overwrite the originals with the complete definitions. More work but way better control. Never mix partial updates with existing content in the same import - that’s where it breaks.
I’ve been fighting the same CSV import nightmare for about a year. The issue is that Xray treats test steps as one large chunk during import; it wasn’t designed for adding steps to existing tests. What finally worked for me was to abandon partial updates entirely. I maintain a master spreadsheet with all my test cases and their complete step definitions. When I need to add steps, I update the master file and reimport everything for those specific tests. It’s not ideal, but it works reliably. Xray’s CSV import is primarily intended for creating new tests from scratch, not for modifying existing ones. Also, ensure your CSV is formatted correctly—hidden characters or encoding issues might be causing the inconsistent behavior you’re experiencing.
csv import for xray is suuper finicky with updates. when adding steps, ya gotta include all original steps exactly as they are, plus any new ones. even a tiny format change can cause conflicts. export ur existing tests to see the exact format xray wants, then use that as ur base for new steps.