In this page

What is Zephyr?

(supported since Better PDF Exporter 1.3.0)

Zephyr is the most popular test management solution for the Jira platform.

Zephyr integration features

  • As Zephyr tests are regular Jira issues, this enables creating self-containing exports from Zephyr tests with all their details from field values (test details), through attachments and comments, to test steps (instructions).
  • You can export the test executions for any test. Executions are exported with their (customizable) details for a comprehensive report: test cycle, version, status, defects, executor user and execution date.
  • You can export the test step results of the test executions for detailed test reports. In this case, the following (customizable) details are exported for each step: status, defects, comments and execution date.

Tutorial video

Watch this short video to get the gist of exporting Zephyr tests to PDF documents! (Although the video below was captured about the app's Server version, the Cloud version is very similar. The only major difference is that in the Cloud version you cannot export directly from the Zephyr screens, due to a limitation in Atlassian Connect.)

Export samples

Zephyr test steps

This example shows the export of the Zephyr test steps (with the corresponding test data and expected result), augmented with regular issue information, from field values through attachments to links.


Zephyr test executions

This is very similar to the previous, extending that with the executions of the test.


Zephyr test step results

This is the most detailed example, exporting all executions and their step results, also including related defects, executor and execution time.



Installing ZAPI Cloud

Please note that the Zephyr app itself does not expose any public API. Instead, there exists a separate app called ZAPI (also developed by SmartBear/Zephyr) to provide a REST API for Zephyr tests, test executions and so.

The Zephyr and Better PDF Exporter integration relies on the REST API provided by ZAPI.

Therefore, please install ZAPI as the starting step.

Configuring the Zephyr REST API access

As this integration relies on the Zephyr REST API, you need to configure the credentials for the REST API calls in issue-fo.vm:

  1. Go to Jira settingsAppsZAPI.
  2. Click Create System Key, enter a name for the key pair and click Submit.
  3. Copy the Access Key from the System Keys section (using the copy-page icon).
  4. Open the issue-fo.vm template for editing, uncomment this variable in the top part, and paste the key to the value of the $zapiAccessKey variable (don't remove the quotation marks around the string!):
    ## Zephyr
    #set($zapiAccessKey = "ZjFkNjQ3ZDMtNjRiZi0zMmU5LTgzYzItOGYyOWIxMmRiYzA4IDU1NzA1OCUzQTUyZDJjMDVlLWRmNjQtNGMyYy1iYmI2LWJkYzZhY2ZkZmU5MyBaQVBJ")
    #set($zapiSecretKey = "7Wdthr-OoVKTuZvDkdFSGLIiL9pqvAwkfN0Tc7goO3g")
  5. Similarly, copy the Secret Key, and paste it to the value of $zapiSecretKey.
  6. Save the changes in issue-fo.vm. (Don't worry about storing keys here: this file is visible only for Jira administrators, who would have super-user permissions any way.)

Configuring the PDF templates for Zephyr

The template issue-fo.vm contains the following three configuration parameters in its top part, to enable these features:

#set($exportZephyrTestSteps = true) ## set to "true" to export Zephyr test steps
#set($exportZephyrTestExecutions = false) ## set to "true" to export Zephyr test executions
#set($exportZephyrTestExecutionDetails = false) ## set to "true" to export Zephyr test step results (only used if $exportZephyrTestExecutions is also true)

Note on performance: exporting Zephyr test execution details (test step results and step defects) will significantly increase the number of required ZAPI calls and thus the total rendering time. If you are experiencing timeout issues, either set $exportZephyrTestExecutionDetails to false or export a smaller number of tests in one go.

For efficiency reasons, the Zephyr REST calls are made only for the issues with the "Test" type. This is a reasonable default and saves quite some computing time in most cases. If you like, you can alter this filtering logic by modifying this line in issue-fo.vm:

## Zephyr test steps
#if($ == "Test")
	## ...

Learn more about Zephyr