IMPORTANT: JAC is a Public system and anyone on the internet will be able to view the data in the created JAC tickets. Please don’t include Customer or Sensitive data in the JAC ticket.
Uploaded image for project: 'Jira Platform Cloud'
  1. Jira Platform Cloud
  2. JRACLOUD-62122

Export from JIRA Cloud to JIRA Server fails due to Jira Misc Workflow Extensions changes

      NOTE: This bug report is for JIRA Cloud. Using JIRA Server? See the corresponding bug report.

      Summary

      Due to the removal of certain plugins within JIRA Cloud, such as the JIRA Misc Workflow Extensions, certain parts of the code have been moved into JIRA Cloud. This is detailed further in JIRA Miscellaneous Workflow Extensions (JMWE) removal from JIRA Cloud. However, some of the code changes have not made it into JIRA Server, so when migrating from Cloud to Server the workflows will be broken as they reference classes that do not exist.

      Steps to Reproduce

      1. Setup a workflow with JMWE 'Fields Required' validator or the 'set issue security from role' post-function.
      2. Export the instance to Server.
      3. Install JMWE plugin.
      4. Try to use the workflow.

      Expected Results

      The workflow proceeds as normal.

      Actual Results

      The workflow fails to transition with the below error:

      [c.a.jira.workflow.DefaultOSWorkflowConfigurator] Could not load class 'com.atlassian.jira.workflow.validator.FieldRequiredValidator'
      

      Or

      2016-10-23 15:54:58,073 ProjectImport: CreateIssues:thread-3 ERROR sysadmin 954x14300x1 v23cek 10.0.0.2 /secure/admin/ProjectImportSummary.jspa [c.a.jira.workflow.DefaultOSWorkflowConfigurator] Could not load class 'com.atlassian.jira.workflow.function.issue.SetIssueSecurityFromRoleFunction'
      

      Workaround

      This can be worked around by renaming the new class names back to the old class names. For example renaming com.atlassian.jira.workflow.validator.FieldRequiredValidator to com.innovalog.jmwe.plugins.validators.FieldRequiredValidator in the workflows will fix the problem.

      Notes

      Reviewing the XML backups before and after the change shows the problem is obvious - the class name has changed:

      After
      			<validator name="" type="class">
                    <arg name="contextHandling"></arg>
                    <arg name="hidFieldsList">customfield_13600</arg>
                    <arg name="errorMessage"></arg>
                    <arg name="class.name">com.atlassian.jira.workflow.validator.FieldRequiredValidator</arg>
                  </validator>
                  <validator name="" type="class">
                    <arg name="contextHandling"></arg>
                    <arg name="hidFieldsList">customfield_12719</arg>
                    <arg name="errorMessage">.</arg>
                    <arg name="class.name">com.atlassian.jira.workflow.validator.FieldRequiredValidator</arg>
                  </validator>
      
      Before
      			<validator name="" type="class">
      			
                    <arg name="fieldKey">customfield_13600</arg>
                    <arg name="errorMessage"></arg>
                    <arg name="class.name">com.innovalog.jmwe.plugins.validators.FieldRequiredValidator</arg>
                  </validator>
                  <validator name="" type="class">
      			
                    <arg name="fieldKey">customfield_12719</arg>
                    <arg name="errorMessage"></arg>
                    <arg name="class.name">com.innovalog.jmwe.plugins.validators.FieldRequiredValidator</arg>
                  </validator>
      

      The below contains a summary of changes:

      From To
      com.atlassian.jira.workflow.validator.FieldRequiredValidator com.innovalog.jmwe.plugins.validators.FieldRequiredValidator
      com.atlassian.jira.workflow.function.issue.SetIssueSecurityFromRoleFunction com.innovalog.jmwe.plugins.functions.SetIssueSecurityFromRoleFunction

            Loading...
            IMPORTANT: JAC is a Public system and anyone on the internet will be able to view the data in the created JAC tickets. Please don’t include Customer or Sensitive data in the JAC ticket.
            Uploaded image for project: 'Jira Platform Cloud'
            1. Jira Platform Cloud
            2. JRACLOUD-62122

            Export from JIRA Cloud to JIRA Server fails due to Jira Misc Workflow Extensions changes

                NOTE: This bug report is for JIRA Cloud. Using JIRA Server? See the corresponding bug report.

                Summary

                Due to the removal of certain plugins within JIRA Cloud, such as the JIRA Misc Workflow Extensions, certain parts of the code have been moved into JIRA Cloud. This is detailed further in JIRA Miscellaneous Workflow Extensions (JMWE) removal from JIRA Cloud. However, some of the code changes have not made it into JIRA Server, so when migrating from Cloud to Server the workflows will be broken as they reference classes that do not exist.

                Steps to Reproduce

                1. Setup a workflow with JMWE 'Fields Required' validator or the 'set issue security from role' post-function.
                2. Export the instance to Server.
                3. Install JMWE plugin.
                4. Try to use the workflow.

                Expected Results

                The workflow proceeds as normal.

                Actual Results

                The workflow fails to transition with the below error:

                [c.a.jira.workflow.DefaultOSWorkflowConfigurator] Could not load class 'com.atlassian.jira.workflow.validator.FieldRequiredValidator'
                

                Or

                2016-10-23 15:54:58,073 ProjectImport: CreateIssues:thread-3 ERROR sysadmin 954x14300x1 v23cek 10.0.0.2 /secure/admin/ProjectImportSummary.jspa [c.a.jira.workflow.DefaultOSWorkflowConfigurator] Could not load class 'com.atlassian.jira.workflow.function.issue.SetIssueSecurityFromRoleFunction'
                

                Workaround

                This can be worked around by renaming the new class names back to the old class names. For example renaming com.atlassian.jira.workflow.validator.FieldRequiredValidator to com.innovalog.jmwe.plugins.validators.FieldRequiredValidator in the workflows will fix the problem.

                Notes

                Reviewing the XML backups before and after the change shows the problem is obvious - the class name has changed:

                After
                			<validator name="" type="class">
                              <arg name="contextHandling"></arg>
                              <arg name="hidFieldsList">customfield_13600</arg>
                              <arg name="errorMessage"></arg>
                              <arg name="class.name">com.atlassian.jira.workflow.validator.FieldRequiredValidator</arg>
                            </validator>
                            <validator name="" type="class">
                              <arg name="contextHandling"></arg>
                              <arg name="hidFieldsList">customfield_12719</arg>
                              <arg name="errorMessage">.</arg>
                              <arg name="class.name">com.atlassian.jira.workflow.validator.FieldRequiredValidator</arg>
                            </validator>
                
                Before
                			<validator name="" type="class">
                			
                              <arg name="fieldKey">customfield_13600</arg>
                              <arg name="errorMessage"></arg>
                              <arg name="class.name">com.innovalog.jmwe.plugins.validators.FieldRequiredValidator</arg>
                            </validator>
                            <validator name="" type="class">
                			
                              <arg name="fieldKey">customfield_12719</arg>
                              <arg name="errorMessage"></arg>
                              <arg name="class.name">com.innovalog.jmwe.plugins.validators.FieldRequiredValidator</arg>
                            </validator>
                

                The below contains a summary of changes:

                From To
                com.atlassian.jira.workflow.validator.FieldRequiredValidator com.innovalog.jmwe.plugins.validators.FieldRequiredValidator
                com.atlassian.jira.workflow.function.issue.SetIssueSecurityFromRoleFunction com.innovalog.jmwe.plugins.functions.SetIssueSecurityFromRoleFunction

                        Unassigned Unassigned
                        dcurrie@atlassian.com Dave C
                        Votes:
                        2 Vote for this issue
                        Watchers:
                        12 Start watching this issue

                          Created:
                          Updated:
                          Resolved:

                            Unassigned Unassigned
                            dcurrie@atlassian.com Dave C
                            Affected customers:
                            2 This affects my team
                            Watchers:
                            12 Start watching this issue

                              Created:
                              Updated:
                              Resolved: