Project import on JIRA Server might fail after migrating from JIRA Cloud

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問


問題

After migrating from JIRA Cloud to JIRA Server, Project Import might fail to import a project (for example accidentally deleted) even from the same server instance backup with the following error in the User Inteface:

"The import was aborted because there were too many errors"

The following appears in the atlassian-jira.log

2018-08-29 14:37:00,717 ProjectImport: CreateIssues:thread-6 ERROR sysadmin 877x406x1 uoh2p 0:0:0:0:0:0:0:1 /secure/admin/ProjectImportSummary.jspa [c.a.jira.workflow.DefaultOSWorkflowConfigurator] Could not load class 'com.atlassian.jira.workflow.function.issue.CopyValueFromOtherFieldPostFunction'
java.lang.ClassNotFoundException: com.atlassian.jira.workflow.function.issue.CopyValueFromOtherFieldPostFunction
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1291)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
at com.atlassian.core.util.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:79)
at com.atlassian.core.util.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:48)
at com.atlassian.jira.workflow.DefaultOSWorkflowConfigurator$LegacyJiraTypeResolver.loadObject(DefaultOSWorkflowConfigurator.java:130)
at com.opensymphony.workflow.TypeResolver.getFunction(TypeResolver.java:87)
at com.atlassian.jira.workflow.DefaultOSWorkflowConfigurator$JiraTypeResolverDelegator.getFunction(DefaultOSWorkflowConfigurator.java:101)
at com.opensymphony.workflow.AbstractWorkflow.executeFunction(AbstractWorkflow.java:1005)
at com.opensymphony.workflow.AbstractWorkflow.transitionWorkflow(AbstractWorkflow.java:1407)
at com.opensymphony.workflow.AbstractWorkflow.initialize(AbstractWorkflow.java:606)
at com.atlassian.jira.workflow.OSWorkflowManager.createIssue(OSWorkflowManager.java:742)
at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:510)
at com.atlassian.jira.issue.managers.RequestCachingIssueManager.createIssue(RequestCachingIssueManager.java:204)
at com.atlassian.jira.external.ExternalUtils.createIssue(ExternalUtils.java:220)
at com.atlassian.jira.imports.project.DefaultProjectImportPersister.createIssue(DefaultProjectImportPersister.java:145)
at com.atlassian.jira.imports.project.handler.IssuePersisterHandler$1.run(IssuePersisterHandler.java:71)
at com.atlassian.jira.util.concurrent.BoundedExecutor$1.run(BoundedExecutor.java:50)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2018-08-29 14:37:00,719 ProjectImport: CreateIssues:thread-6 ERROR sysadmin 877x406x1 uoh2p 0:0:0:0:0:0:0:1 /secure/admin/ProjectImportSummary.jspa [c.a.j.imports.project.DefaultProjectImportPersister] Unable to create issue with key 'NISP21A-293'.
com.atlassian.jira.external.ExternalException: Unable to create issue: Notification email functionality - bcc for notifiers only and Claims number added to email


2018-09-01 05:45:24,975 ProjectImport: CreateIssues:thread-6 ERROR sysadmin 345x2885x1 113ka20 0:0:0:0:0:0:0:1 /secure/admin/ProjectImportSummary.jspa [c.a.j.imports.project.DefaultProjectImportPersister] Unable to create issue with key 'NISP21A-293'.
com.atlassian.jira.external.ExternalException: Unable to create issue: Notification email functionality - bcc for notifiers only and Claims number added to email
at com.atlassian.jira.external.ExternalUtils.createIssue(ExternalUtils.java:228)
at com.atlassian.jira.imports.project.DefaultProjectImportPersister.createIssue(DefaultProjectImportPersister.java:145)
at com.atlassian.jira.imports.project.handler.IssuePersisterHandler$1.run(IssuePersisterHandler.java:71)
at com.atlassian.jira.util.concurrent.BoundedExecutor$1.run(BoundedExecutor.java:50)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.atlassian.jira.exception.CreateException: com.atlassian.jira.workflow.WorkflowException: Could not load FunctionProvider class

Scenario where this issue might come up

1) Migrate JIRA Cloud to JIRA Server (target instance)

2) Take an XML backup of the JIRA Server (i.e. from within JIRA),

3) Delete a project in JIRA server target instance (i.e. one created in step 1 above) and attempt to restore the same project from the backup taken at the previous step



環境

Advanced workflow post functions are in use in JIRA Cloud, such as update custom field value on executing a workflow step

原因

This happens because certain JAVA classes used by JIRA Cloud don't exist in JIRA Server (the source codes are different for the two products)

The actual culprits are documented in the below bug reports that pertain to 3rd party add-ons:
https://jira.atlassian.com/browse/JRASERVER-62122 - JIRA Misc Workflow Extensions
https://jira.atlassian.com/browse/JRASERVER-62284 - JIRA Suite Utilities add-on

回避策

Workarounds from both the bug reports can be followed to replace JAVA classes in the original JIRA Cloud for Server backup, however, since the bug reports pertain to 3rd party add-ons that are not included in JIRA Server out of the box (they are paid add-ons), depending on what the actual errors are, it will be best to contact the respective add-on vendors for the exact instructions as tho which exact JAVA classes need to be replaced as the list might depend on the actual version of JIRA Cloud at the time of the issue happening.

Both vendors have their own articles that describe on how to migrate JIRA Cloud to JIRA Server:
https://innovalog.atlassian.net/wiki/spaces/KB/pages/139373321/Migrating+from+JIRA+Cloud+to+JIRA+Server
https://confluence-apps.beecom.ch/display/JSU/Migrating+from+Jira+Cloud+to+Jira+Server


If in doubt, please log a support case with Atlassian and we'll be happy to assist

最終更新日: 2018 年 10 月 3 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.