Best Practices for JIRA Release Integration

JIRA Release Integration was introduced in qTest Manager 8.9. Here are some FAQs and best practice recommendations to help you leverage this new feature and incorporate it into your JIRA and qTest workflow.

For more details, refer to Import and Use Releases from JIRA.

My team tests for both Sprints AND releases. How do you recommend we set up the JIRARelease integration?

You can select JIRA Fix Version and / or Sprints to automatically create Releases in qTest Manager. If you select both, they will both be created as Releases. In this case, use the Releases that represent JIRASprints to plan and execute testing within each Sprint like new feature development and regression. Use the Releases that represent JIRA Fix Versions to plan and execute testing that is necessary in order to package up the final Release like regression and system testing.

Do I need to do anything on the JIRA side in order to configure the new features?

JIRA Cloud: No need to do anything on the JIRA side to use the new features.

JIRA Server: Please request your JIRA admin to update to the latest version of qTest Test Management for JIRA Server plugin v6.11.7. The new plugin version is required in order for the new Release Integration to work properly. If you don’t upgrade the plugin, you can still import Releases from JIRA fix versions or Sprints but the auto-sync (if the fix version or Sprint properties or linked requirements scope changes), those changes won’t reflect automatically in qTest Manager. If you remain on the old plugin version, your existing JIRA integration features (e.g. Requirements or Defects integration) will work fine.

What if I already organized my JIRA requirements by Fix Version or Sprint?

The JIRARequirements Integration allows you to organize requirements from JIRA into a nested folder structure using up to 2 JIRA fields. If your requirements integration was already configured based on Fix Version or Sprint, you can free up one of the fields to organize requirements by some other field, such as Status, Priority, Component, or even a custom field from Jira. When you switch out the fields to organize requirements, make sure to Save the new configuration and then click, “Retrieve JIRA data,” which will re-index your imported requirements and organize them into the new folder structure. Your JIRA requirements will still retain any linkages to test cases and executions even if they’re re-organized by the data retrieval.

NOTE: After the data is retrieved, new folders will be created under the Imported from JIRA folder based on the fields you selected for the new organization. Keep in mind that any old requirements folders (e.g. Fix Version or Sprint folders) will still exist. Before you delete these empty requirements folders, check to make sure that there aren’t any test cases in these folders in Test Design.

I’ve already used the JIRA integration for a while and have a lot of data in Test Execution already. What is the best way to handle my existing data and incorporate this new Release Integration into my project?

How you manage your existing data to incorporate the new Release Integration may be affected by your existing use (or non-use) of Releases in the Test Plan area. See the options laid out in Scenario. 1A, 1B, 2A, 2B below.

Scenario #1 - If your Test Plan area was previously NOT Used

If you didn't create any Release objects at all in Test Plan, you had most likely skipped Release objects altogether and started Test Execution hierarchy by creating Test Cycles as the highest level of the hierarchy in Test Execution. You most likely used Test Cycles to represent the Sprints or Releases from Jira. If this description matches your existing Test Plan usage, consider Options A and B below:

Option A - "Fresh Start"

  1. Setup JIRARelease integration for new Releases / Sprints - don't worry about bringing over Releases that already happened or Sprints that were already completed. In the configuration, bring over:

    • Fix Versions: Unreleased only (uncheck Released) - FYI this is the default selection

    • Sprints: Active and Future only (uncheck Completed) - FYI this is the default selection

  2. When the new Release objects are created in the Test Plan...

    • For past Releases, leave your existing Test Execution as-is.

    • For all current and future Releases, there's no need to manually create Test Cycles to represent the Sprint or Fix Version. You can Build your Test Execution hierarchy directly underneath the newly created JIRA Releases.

Option B - "Consolidate Historical Data"

  1. Setup JIRARelease integration for new Releases / Sprints AND old Releases / Sprints. In Integration Settings, setup the Release Configuration to import:

    • Fix Versions: Unreleased AND Released - FYI this is NOT the default selection

    • Sprints: Active, Future, AND Completed - FYI this is NOT the default selection

  2. When the new Release objects are created in the Test Plan... in Test Execution, you'll end up with Test Cycles that you manually created previously to represent your old Fix Versions or Sprints. You'll also notice new Release objects that were just now automatically created to represent the same Fix Version or Sprints.

  3. To consolidate the data:

    • For past Releases, drag and drop your previous Test Cycles to reorganize them under the corresponding Releases that were just now created from Jira

    • For all current and future Releases, Build your Test Execution hierarchy directly underneath the newly created JIRA Releases.

Scenario #2 - If your Test Plan area WAS used

If you did create Release objects manually in the Test Plan to represent Sprints or Releases from Jira. you likely organized your Test Execution area so that Test Cycles and Suites were nested underneath the Release objects. If this description matches your existing Test Plan usage, consider Options A and B below:

Option A - "Fresh Start"

  1. Setup JIRARelease integration for new Releases / Sprints - don't worry about bringing over Releases that already happened or Sprints that were already completed. In the configuration, bring over:

    • Fix Versions: Unreleased only (uncheck Released) - FYI this is the default selection

    • Sprints: Active and Future only (uncheck Completed) - FYI this is the default selection

  2. When the new Release objects are created in the Test Plan... in Test Execution, you'll end up with Releases that you manually created previously to represent your old Fix Versions or Sprints. You'll also notice new Release objects (distinguishable by the Atlassian symbol) that were just now automatically created to represent the same Fix Version or Sprints.

  3. Going Forward:

    • For past Releases, leave your existing Test Execution as-is, since your execution data is already organized by the manually created Releases.

    • For all current and future Releases, Build your Test Execution hierarchy directly underneath the newly created JIRA Releases.

Option B - "Consolidate Historical Data"

  1. Setup JIRARelease integration for new Releases / Sprints AND old Releases / Sprints. In the configuration, bring over:

    • Fix Versions: Unreleased AND Released - FYI this is NOT the default selection

    • Sprints: Active, Future, AND Completed - FYI this is NOT the default selection

  2. When the new Release objects are created in the Test Plan... in Test Execution, you'll end up with Releases that you manually created previously to represent your old Fix Versions or Sprints. You'll also notice new Release objects (distinguishable by the Atlassian symbol) that were just now automatically created to represent the same Fix Version or Sprints.

  3. To consolidate the data:

    • For past Releases, Drag and drop the execution data that was housed under the old manually created Releases (Test Cycles, Suite, Runs) to reorganize them under the corresponding Releases that were just now created from Jira.

    • For all current and future Releases, Build your Test Execution hierarchy directly underneath the newly created JIRA Releases