Originally asked by Thorsten on 28 November 2023 (original question)
Hi,
I found the path from Jira (XRay) to Azure DevOps here, but how about the reverse path, from Azure DevOps to Jira Cloud?
We have the following issue types in ADO (with Jira mapping):
- ADO → Jira Cloud
- Test Case -> mapped to “Test”
- Test Suites -> mapped to “Test Set”
- Test Plans -> mapped to “Test Plan”
As far as I have seen, only manual steps are entered in the test cases.
I can transfer the test issues to Jira using the normal Exalate sync, but the entire steps are not transferred because they would have to be entered into Xray.
As a workaround, I wanted to simply include all the steps in the description, which doesn’t work properly either. Here is the code for the workaround:
ADO Outgoing
replica.TestSteps = workItem."Microsoft.VSTS.TCM.Steps"
Jira Incoming
if (replica.TestSteps) {
issue.description += "\n\n______\nTest Steps\n______"
issue.description += "\n${replica.TestSteps}"
}
This produces a description entry that looks like this:
______
Test Steps
______
<steps id="0" last="8"><step id="2" type="ValidateStep"><parameterizedString isformatted="true"><DIV><P>Previous test case is executed</P></DIV></parameterizedString><parameterizedString isformatted="true"><DIV><P>Logged into OWASYS-Box or PCU / Defrosting app is installed within a container on OWASYS-Box or PCU / Wiper is off</P></DIV></parameterizedString><description/></step><step id="3" type="ValidateStep"><parameterizedString isformatted="true"><DIV><DIV><P>Activate the Safety Guard with the cube</P></DIV></DIV></parameterizedString><parameterizedString isformatted="true"><DIV><P>Status of Safety Guard is activated on Android UI</P></DIV></parameterizedString><description/></step><step id="4" type="ValidateStep"><parameterizedString isformatted="true"><DIV><DIV><P>Start de-frosting app via android app UI button</P></DIV></DIV></parameterizedString><parameterizedString isformatted="true"><DIV><P>Wiper starts wiping each x seconds</P></DIV></parameterizedString><description/></step><step id="5" type="ValidateStep"><parameterizedString isformatted="true"><DIV><DIV><P>Open the hood</P></DIV></DIV></parameterizedString><parameterizedString isformatted="true"><DIV><P>Wiper stops</P></DIV></parameterizedString><description/></step><step id="6" type="ValidateStep"><parameterizedString isformatted="true"><DIV><DIV><P>Close the hood</P></DIV></DIV></parameterizedString><parameterizedString isformatted="true"><DIV><P>Wiper starts again wiping each x seconds</P></DIV></parameterizedString><description/></step><step id="7" type="ValidateStep"><parameterizedString isformatted="true"><DIV><DIV><P>Move wiper switch to level 1</P></DIV></DIV></parameterizedString><parameterizedString isformatted="true"><DIV><P>Wiper starts constantly wiping in normal mode</P></DIV></parameterizedString><description/></step><step id="8" type="ValidateStep"><parameterizedString isformatted="true"><DIV><P>Move wiper switch to level 0</P></DIV></parameterizedString><parameterizedString isformatted="true"><P>Wiper stops normal wiping mode and wipes each x seconds</P></parameterizedString><description/></step></steps>
When I use the HTML to Markdown Converter it looks like this:
Jira Incoming
if (replica.TestSteps) {
issue.description += "\n\n______\nTest Steps\n______"
issue.description += "\n${nodeHelper.toMarkDownFromHtml(replica.TestSteps)}"
}
______
Test Steps
______
<steps id="0" last="8">
<step id="2" type="ValidateStep">
<parameterizedstring isformatted="true">
<div>
<p>Previous test case is executed</p>
</div>
</parameterizedstring>
<parameterizedstring isformatted="true">
<div>
<p>Logged into OWASYS-Box or PCU / Defrosting app is installed within a container on OWASYS-Box or PCU / Wiper is off</p>
</div>
</parameterizedstring>
</step>
<step id="3" type="ValidateStep">
<parameterizedstring isformatted="true">
<div>
<div>
<p>Activate the Safety Guard with the cube</p>
</div>
</div>
</parameterizedstring>
<parameterizedstring isformatted="true">
<div>
<p>Status of Safety Guard is activated on Android UI</p>
</div>
</parameterizedstring>
</step>
<step id="4" type="ValidateStep">
<parameterizedstring isformatted="true">
<div>
<div>
<p>Start de-frosting app via android app UI button</p>
</div>
</div>
</parameterizedstring>
<parameterizedstring isformatted="true">
<div>
<p>Wiper starts wiping each x seconds</p>
</div>
</parameterizedstring>
</step>
<step id="5" type="ValidateStep">
<parameterizedstring isformatted="true">
<div>
<div>
<p>Open the hood</p>
</div>
</div>
</parameterizedstring>
<parameterizedstring isformatted="true">
<div>
<p>Wiper stops</p>
</div>
</parameterizedstring>
</step>
<step id="6" type="ValidateStep">
<parameterizedstring isformatted="true">
<div>
<div>
<p>Close the hood</p>
</div>
</div>
</parameterizedstring>
<parameterizedstring isformatted="true">
<div>
<p>Wiper starts again wiping each x seconds</p>
</div>
</parameterizedstring>
</step>
<step id="7" type="ValidateStep">
<parameterizedstring isformatted="true">
<div>
<div>
<p>Move wiper switch to level 1</p>
</div>
</div>
</parameterizedstring>
<parameterizedstring isformatted="true">
<div>
<p>Wiper starts constantly wiping in normal mode</p>
</div>
</parameterizedstring>
</step>
<step id="8" type="ValidateStep">
<parameterizedstring isformatted="true">
<div>
<p>Move wiper switch to level 0</p>
</div>
</parameterizedstring>
<parameterizedstring isformatted="true">
<p>Wiper stops normal wiping mode and wipes each x seconds</p>
</parameterizedstring>
</step>
</steps>
It would be great if the manual steps were entered correctly in XRay, but the workaround would be enough for me if it was clearly readable. Does somebody has any idea?
BR,
Thorsten
Comments:
Javier Pozuelo commented on 30 November 2023
Hello Thorsten,
We are working to create a sync of ADO tests to Jira XRay, you can expect an answer by Monday