Uploaded image for project: 'JIRA'
  1. JIRA
  2. JRA-13245

Bulk Convert Issues to Sub-task and back

    Details

    • Feedback Policy:

      JIRA feedback is collected from a number of different sources and is evaluated when planning the product roadmap. If you would like to know more about how JIRA Product Management uses customer input during the planning process, please see our post on Atlassian Answers.

      Description

      Atlassian Status as of 8 June 2015

      Hi everyone,

      Thanks so much for your votes and comments on this issue.

      Good news - this request is currently being implemented and if nothing goes wrong the solution should be available soon. Stay tuned for more updates.

      Thanks for your patience and we hope you appreciate our open approach to feature requests.

      Cheers,

      Bartek
      JIRA Product Management
      bartek (at) atlassian (dot) com

      Original request description

      In 3.9 JIRA introduced "Convert Issue to Sub-task" and "Convert Sub-task to Issue".
      It would be handy to be able to bulk convert.

        Issue Links

          Activity

          Hide
          mikhail.skotnikov Mikhail Skotnikov added a comment -

          The same need.
          Very surprising to see Atlassian ignoring this feature request from so many users for so long time.

          Show
          mikhail.skotnikov Mikhail Skotnikov added a comment - The same need. Very surprising to see Atlassian ignoring this feature request from so many users for so long time.
          Hide
          ryan133 Ryan Porter added a comment - - edited

          This becomes a bigger issue every day. My latest use case for this is that sub-tasks don't show up in JIRA Portfolio. So if Atlassian wants to sell me JIRA Portfolio then it would help a lot if it were not so difficult to convert hundreds of existing sub-tasks into tasks so that we can include them in project planning.

          Show
          ryan133 Ryan Porter added a comment - - edited This becomes a bigger issue every day. My latest use case for this is that sub-tasks don't show up in JIRA Portfolio. So if Atlassian wants to sell me JIRA Portfolio then it would help a lot if it were not so difficult to convert hundreds of existing sub-tasks into tasks so that we can include them in project planning.
          Hide
          martin.gregory Martin Gregory added a comment -

          Yay about the "coming soon" news. Couldn't be a moment too soon.

          Can you confirm this will be available in Cloud and Self-Hosted.

          Show
          martin.gregory Martin Gregory added a comment - Yay about the "coming soon" news. Couldn't be a moment too soon. Can you confirm this will be available in Cloud and Self-Hosted.
          Hide
          bgatz Bartek Gatz [Atlassian] added a comment -

          Martin Gregory, yes I confirm: the implementation is part of JIRA "base system" and as such is planned to be made available for Cloud (first) and for Server (later).

          Show
          bgatz Bartek Gatz [Atlassian] added a comment - Martin Gregory , yes I confirm: the implementation is part of JIRA "base system" and as such is planned to be made available for Cloud (first) and for Server (later).
          Hide
          jelena.radovanovic1 jelena.radovanovic added a comment -

          Hello Ovidiu Vasilescu,

          Here is the script that I used:

          
          import com.atlassian.jira.ComponentManager
          import com.atlassian.jira.issue.comments.CommentManager
          import com.opensymphony.workflow.WorkflowContext
          import org.apache.log4j.Category
          import com.atlassian.jira.issue.Issue
          import com.atlassian.jira.issue.IssueManager
          import com.atlassian.jira.issue.CustomFieldManager
          import com.atlassian.jira.issue.fields.CustomField
          import com.opensymphony.workflow.WorkflowContext
          import com.atlassian.jira.config.SubTaskManager
          import com.atlassian.jira.component.ComponentAccessor
          import com.atlassian.jira.security.Permissions
          import com.atlassian.jira.event.type.EventDispatchOption
          import com.atlassian.jira.user.ApplicationUser
          import com.atlassian.jira.issue.MutableIssue
          
          
          IssueManager issmngr = ComponentManager.getInstance().getIssueManager()
          def subTaskManager = ComponentAccessor.getSubTaskManager()
          def customFieldManager = ComponentAccessor.getCustomFieldManager()
          
          Issue issue = null
          
          def list = ["SUBTASK-1","SUBTASK-2","SUBTASK-3"]
          
          def parent = issmngr.getIssueObject("PARENT-1")
          
          for( String key in list)
          {
          issue = issmngr.getIssueObject(key)
          def subTaskIssueTypeId = "5"
          	issue.setIssueTypeId(subTaskIssueTypeId) 
          	issue.store()
              ComponentAccessor.getSubTaskManager().createSubTaskIssueLink(parent, 
                                                                           issue, 
                                                                           ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser())
          
          
          
          issue.store()
          parent.store()
          }
          
          
          Show
          jelena.radovanovic1 jelena.radovanovic added a comment - Hello Ovidiu Vasilescu, Here is the script that I used: import com.atlassian.jira.ComponentManager import com.atlassian.jira.issue.comments.CommentManager import com.opensymphony.workflow.WorkflowContext import org.apache.log4j.Category import com.atlassian.jira.issue.Issue import com.atlassian.jira.issue.IssueManager import com.atlassian.jira.issue.CustomFieldManager import com.atlassian.jira.issue.fields.CustomField import com.opensymphony.workflow.WorkflowContext import com.atlassian.jira.config.SubTaskManager import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.security.Permissions import com.atlassian.jira.event.type.EventDispatchOption import com.atlassian.jira.user.ApplicationUser import com.atlassian.jira.issue.MutableIssue IssueManager issmngr = ComponentManager.getInstance().getIssueManager() def subTaskManager = ComponentAccessor.getSubTaskManager() def customFieldManager = ComponentAccessor.getCustomFieldManager() Issue issue = null def list = [ "SUBTASK-1" , "SUBTASK-2" , "SUBTASK-3" ] def parent = issmngr.getIssueObject( "PARENT-1" ) for ( String key in list) { issue = issmngr.getIssueObject(key) def subTaskIssueTypeId = "5" issue.setIssueTypeId(subTaskIssueTypeId) issue.store() ComponentAccessor.getSubTaskManager().createSubTaskIssueLink(parent, issue, ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()) issue.store() parent.store() }

            People

            • Assignee:
              Unassigned
              Reporter:
              nick.menere Nick Menere [Atlassian]
            • Votes:
              395 Vote for this issue
              Watchers:
              204 Start watching this issue

              Dates

              • Created:
                Updated: