Child pages
  • Zephyr For Jira Test Management Plugin

Due to some maintenance issues, this service has been switched in read-only mode, you can find more information about the why

and how to migrate your plugin documentation in this blogpost

Skip to end of metadata
Go to start of metadata

Creates test cases and publishes test results in Zephyr for JIRA for JUnit test cases

Plugin Information

View Zephyr for JIRA Test Management on the plugin site for more information.

About the Plugin

Zephyr for JIRA Plugin for Jenkins integrates Jenkins and Zephyr for JIRA – Test Management for JIRA Cloud and JIRA Server / Data Center deployments. This plugin creates test cases and publishes test results in JIRA for JUnit test cases in Jenkins. It supports publishing maven surefire format test results (JUnit and TestNG).

This guide will cover how to create and execute test cases automatically in Zephyr for JIRA – Test Management using this plugin; this includes

  1. Downloading and installing the plugin.
  2. Adding JIRA Severs in the Jenkins global settings.
  3. Configuring a standard Jenkins Job.
  4. Configuring Zephyr for JIRA Plugin job as a post build action.
  5. Triggering the job and publishing results in JIRA.


  1. Zephyr for JIRA – Test Management Server/Data Center Deployment [Version 2.5.2 (Build 25201808) or higher] installed and enabled on JIRA server or Cloud Deployment installed and enabled on JIRA Cloud .
  2. ZAPI Server/Data Center Deployment [version 1.5 or higher] installed and enabled on JIRA server or Cloud Deployment installed and enabled on JIRA Cloud.
  3. Jenkins installation

Adding JIRA Servers in Jenkins global settings

After installation configure Jenkins global settings to establish connection with JIRA Server(s). Follow the below steps

  • Launch Jenkins and access via a web browser.
  • Click on "Manage Jenkins" from the Menu as illustrated in the below screenshot.

  • Click on "Configure System".

  • Locate the section “Zephyr for JIRA – Test Management Configuration”.  Select applicable JIRA deployment and click “Add”. You can add more than one JIRA Server / JIRA Cloud instances by clicking on “Add” button.
  • For JIRA Server / Data Center deployment, populate JIRA Server / Data Center URL and user credentials. Note that the User Name and Password must be that of a user with appropriate permissions to project(s). Click on “Test Configuration” to validate connection to JIRA. Click on “Save” button to save the configuration changes.

  • For JIRA Cloud deployment, populate JIRA Cloud URL, Zephyr Base URL, user credentials and Zephyr for JIRA Cloud Access and Secret Key. Note that the User Name and Password must be that of a user with appropriate permissions to project(s). Click on “Test Configuration” to validate connection to JIRA. Click on “Save” button to save the configuration changes.

Configuring a standard Jenkins job

A job in Jenkins defines a sequence of tasks for Jenkins to perform. When a job is triggered, Jenkins looks for an Ant script or Maven build file and runs it. It also provides options to define post-build tasks. Follow the example below to configure a standard job and add a post build action:

  1. Create a new Jenkins job by clicking the "New Item" link found on the menu.

2. Give a name for your job, check the box "Freestyle project" and click on "OK" button.

3. To configure the job you just created, click the <job name> on the Jenkins home page.

4. Click the "Configure" link.

5. Choose "Subversion" option in the "Source Code Management" section.

6. Enter the subversion URL where the target project resides and press Tab.

Note: User credentials needs to be setup to access SVN server. Click on "enter credential" link to set it up if you see below error.

7. To add a build step, locate the "Build' section and select "Invoke top-level maven targets" from the "Add build step" dropdown.

8. Select "clean package" as your Goals.

9. The plugin requires JUnit test result. Locate the "Post-build Actions" section and select "Publish JUnit test result report" from "Add post-build Actions" dropdown.

10. Enter the path to the test report. In the example below the location is "Proj1\target\surefire-reports/*.xml" where Proj1 is the target project.

Configuring Zephyr for JIRA Test Management plugin as a post build action

In order to publish results in Zephyr for JIRA, define another post-build action.

  1. Select "Publish test result to Zephyr for JIRA" from "Add post-build Actions" dropdown.

2. Configure Zephyr plugin job.

      1. Select the JIRA URL from the dropdown. (Servers configured in the Jenkins global configuration are available here to select). This automatically pulls in projects, versions and cycles.
      2. Select the Project Name from the dropdown. This re-populates the versions.
      3. Select the Version from the dropdown. Selecting a version fetches all its cycles.
      4. Select either an existing Cycle from the dropdown or create a new cycle.
      5. For existing Cycle the default Cycle Duration will be that of existing cycle in Zephyr and Cycle Name Prefix will be of the format "Automation_<Date><Time>" stamp.
      6. For new cycle you have option to select Cycle Duration from the dropdown and to edit default cycle prefix name "Automation". In the absence of a cycle prefix name "Automation" is used for new cycles.
      7. Click "Save".

Triggering the job and publishing results in Zephyr

To trigger a job manually, click "Build Now" link on the menu. This builds the project and publishes the Junit result.

Jenkins creates the test cases in the selected JIRA Project.

Finally, Jenkins assigns these test cases to the selected cycle and executes all the tests.


This plugin is open source. It follows the Apache License version 2.0 (<>) It means:
It allows you to:

  • freely download and use this software, in whole or in part, for personal, company internal, or commercial purposes;
  • Use this software in packages or distributions that you create.

It forbids you to:

  • redistribute any piece of our originated software without proper attribution;
  • use any marks owned by us in any way that might state or imply that we endorse your distribution;
  • Use any marks owned by us in any way that might state or imply that you created this software in question.

It requires you to:

  • include a copy of the license in any redistribution you may make that includes this software;
  • provide clear attribution to us, for any distributions that include this software

It does not require you to:

  • include the source of this software itself, or of any modifications you may have made to it, in any redistribution you may assemble that includes it;
  • Submit changes that you make to the software back to this software (though such feedback is encouraged).

See License FAQ <> for more details.



  1. Unknown User (lfedorov)

    The documentation says that jenkins will create new tests in Jira for each test run.

    Is there an option not to create new tests for each, but instead match executed automated tests with existing tests in Jira and just create test executions for these tests?

  2. Unknown User (lawdank)

    This is a follow up on Leo Fedrov's comment.
    Is there an option to match to existing tests and publish results instead of creating new one?

  3. Unknown User (choweth)

    Following up on the last two comments. Would like to know this as well.

  4. Unknown User (danishmnz)

    As long as the name generated for your test case from the xml is exactly identical to a test that already exists then JIRA should update that test instead of creating a new one. Towards this end, you may have to modify your xml so that names are kept consistent (e.g. if your xml reporter appends time and date info to the test name you may have to remove that part).

  5. Unknown User (cjk712)

    Is there a specific field in the XML that searches for and updates the existing test, is it like an issue key or is it the issue summary? Unknown User (danishmnz)

    I have noticed that the tests it creates either appends the classname or the test suite name to the beginning of the new test. I have not gotten it to update an existing test.

    Does it pull existing tests from Zephyr issues? Or does that test need to be in the Cycle already. Sorry I have no been able to find any documentation on this feature and I need to use it. Thanks for the help.



  6. Unknown User (sumanvishwanath)

    This plugin seems to be inconsistent. The Execution status is not updated for Test Cases intermittently in JIRA but works fine after random executions without changing configs. Is there any work around to fix this? Referred JENKINS-44468 , but no update from Team on this bug !

  7. Unknown User (mithun41)

    Yes I have the same problem , JENKINS-44468, when will bug be fixed.

  8. Unknown User (wandahayes)

    This plug-in doesn't seem to be working anymore.

    I've installed v1.5.  

    The plug-in isn't showing consistently in the post-build action list.

    If happens to show up in the list of post-build actions, it still fails.  I've reported this issue but there has been no feedback.  Is anyone still supporting this plug-in?

  9. Unknown User (tan_nguyen1122)


    Is this plugin still alive and supported? Please help me to confirm that.


  10. Unknown User (ankursharma2711)

    Zephyr plugin for jenkins not uploading testing result to Jira

    When jenkins build is completed and test execution is completed , Zephyr for Jenkins trying to update the maven sure fire report to Jira. But getting below error. Can you please sugges what  is missing here

    Build result is SUCCESS

    Build step failed with exception
    org.json.JSONException: JSONObject["jobProgressToken"] not found.
    	at org.json.JSONObject.get(
    	at org.json.JSONObject.getString(
    	at com.thed.zephyr.jenkins.reporter.ZfjReporter.perform(
    	at hudson.tasks.BuildStepMonitor$1.perform(
    	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(
    	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(
    	at hudson.model.Build$BuildExecution.post2(
    	at hudson.model.AbstractBuild$
    	at hudson.model.Run.execute(
    	at hudson.model.ResourceController.execute(
    Build step 'Publish test result to Zephyr for JIRA' marked build as failure
    Finished: FAILURE