Bulk changing issue types with complex parent child relationships breaks those relationships

XMLWordPrintable

    • 7
    • Severity 3 - Minor
    • 1

      Issue Summary

      Bulk changes to issuetypes are performed by moving the issue (to the same project) and changing the issuetype during the move. During this operation you are given the option to also change the child issue's types and move them as well, however, since the bulk move operation is done serially, if the parent's target issue type hierarchy does not allow children of the child issue's original issue type, the parent child relationship is broken.

      Steps to Reproduce

      Suppose you have the following hierarchy configured:

      → Capability
      → Epic
      → Story
      → All other Issue Types
      → Subtask

      And you have the following issues:

      → Epic: MCMP-55

           → Story: MCMP-345

                →Sub-Task: MCMP-54

                →Sub-Task: MCMP-57

      And you want to promote the issue types of all three issues up one hierarchy level to:

      → Capability: MCMP-55

           → Epic: MCMP-345

                →Story: MCMP-54

                →Story: MCMP-57

      Expected Results

      Ideally, the issue types would be changed without breaking any parent-child relationships.

      Actual Results

      The problem is that when you promote the Epic to a Capability, the Story has not yet been promoted and a Story cannot be the direct child of a capability and so the paren-child relationship is broken. After the Story is promoted to an Epic, you can then manually (or through another bulk operation) set the parent again to what it used to be.

      Workaround

      Option 1:{}

      Manually re-establish the parent-child relationships after bulk moving them.

      Option 2:

      1. Tag all stories of a parent epic using a label
      2. Promote the parent from epic to capability. This breaks the parent link, but promotes the stories to epics.
      3. Search for epics with the label added before and bulk update them with the parent link.
      4. Manually update each sub-task separately to be a story.

      Option 3:

      Perform several bulk operations using different JQL statements:

      First, a JQL statement that includes the Epic:

      issuekey = MCMP-55 

      Then perform a Bulk Move to change the issue type to Capability.

      Another JQL search with all the Children that are Stories. You will need to specify the issues explicitly in the JQL since the parent-child relationship will be broken after the first change:

      issuekey IN (MCMP-54, MCMP-57)
      

      Perform a Bulk MOVE to change their issue type to Epic

      From there your subtasks will still be associated with your Epic that was promoted from Story, but before you can change them into Stories, you will need to convert them from subtasks to issues.

      This can be done with a JQL search of issues that are subtasks of the newly promoted Epic then using the Bulk Move option to convert them to stories:

      parent = MCMP-54
      parent = MCMP-57

            Assignee:
            Unassigned
            Reporter:
            Avery (Inactive)
            Votes:
            3 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: