cucumber-jvm-zephyr-xml
This Cucumber-JVM plugin generates JUnit XML with proprietary modifications to support Zephyr.
Warning: This plugin outputs additional XML elements that are incompatible with widely used XML schemas that validate the generated XML:
Adding these extra XML elements in the official JUnitXmlFormatter would cause validation errors for all users using one of the validation schemas above.
For this reason this plugin is a fork of the JUnitXmlFormatter. It has been forked from Cucumber-JVM 4.2.6.
Warning: This plugin has not been tested against later versions of Cucumber-JVM and is unlikely to be compatible with versions 5.x and 6.x.
Until this is fixed, users of this plugin will not be able to use recent versions of Cucumber-JVM.
Custom <requirements> element
 
Any tags in the feature file starting with @JIRA_ will be outputted to the XML.
For example:
@JIRA_XYZ-1 @JIRA_XYZ-1 @smoke-test
Feature: something 
This will output the following snippet in the generated XML
<requirements>
  <requirement>AltID_XYZ-1</requirement>
  <requirement>AltID_XYZ-2</requirement>
</requirements> 
The plugin will replace @JIRA_ with AltID_ in the generated XML.
Using <tags> element
 
@ tags in the feature file which are not recognised as requirements (see above), will be inserted into the XML results file as tag nodes.
For example:
@JIRA_XYZ-1 @JIRA_XYZ-1 @smoke-test
Feature: something 
This will collect the first two tags as requirements and the last @ tag will be a tag for the zephyr tescase.
Here is an example of a single tag in the XML file:
<tags>                          ---//  tags: parent element
<tag>Feature1</tag>             ---// tag : child element
</tags>   
Here is an example of multiple tags in the XML file:
<tags>
<tag>BVT1</tag>
<tag>BVT2</tag>
</tags> 
Usage:
Add the dependency to your pom.xml:
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>zephyr-xml-formatter</artifactId>
    <version>4.2.0.2</version>
</dependency> 
Add the following to your JUnit class:
@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"io.cucumber.zephyr.ZephyrXMLFormatter:target/zephyr.xml"}) 
Maintenance
This plugin is maintained by the SmartBear Zephyr team.
Release process
- Update the version number in 
pom.xml. - Update 
CHANGELOG.mdto reflect the changes since the previous release. - Commit your files.
 
Contact somebody fro the Cucumber Open core team to get access to secrets.
make docker-run-with-secrets
make release
 
This should tag the git repository and upload artefacts to Maven Central.