This is a 2017 post so I'm bringing up again to see if there are updates. Xray still doesn't have the concept of shared steps to my knowledge, but I am interested if anyone has found a way to do this in xray (other than preconditions). The problem we're trying to solve is when a test case is used in various places and the logic changes (causing the need for test case updates), we have to update multiple test cases. We only want to update it ONE time.
This may or may not be interesting to you, but there are other test management tools that handle such operation out of the box.
In TestFLO there's a concept of a Test Case Template, which is a non-executable test specification out of which executable Test Cases are created (by copying steps and other fields from the template).
Once you change the steps in a Test Case Template, you can update test cases previously created from this template (all of them of just selected ones). This can update any fields that you'd like to update, including the "steps" field. You can also update test cases by pass values from a Test Plan to Test Cases.
In this approach, the "shared steps" are in the Test Case Template, and you can propagate the changes in them to existing Test Cases. It's you who decides when and if this propagation should happen, and to which Test Cases.
You can write the case one time and then link it to other cases as a step.
Now anytime you change the original case, the changes are automatically be reflected in all the cases to which it is linked. There is no extra step required.
We are currently working on the feature, as found in our roadmap (https://docs.getxray.app/display/XRAY/Roadmap), and it is planned for version 6.0.0.
You may also watch the New Feature in the backlog: https://jira.getxray.app/browse/XRAY-4364
Any additional questions, please get in touch with Xray Support (http://xraysupport.getxray.app); we would gladly assist you.
Rogério Paiva [Xray Support Team]
Xray doesn't support yet shared steps feature. But you can use the 'pre-condition' as a way to abstract the initial conditions that tests needs to assure. Pre-conditions can be shared/used in multiple tests.
Maybe documentation will help you: http://confluence.xpand-addons.com/display/XRAY/Pre-Condition
You can open a ticket in the Support channel with questions/suggestions and will get a quick answer.