Using Configuration Manager for Jira, I was able to restore from system snapshot the first time (rebuilding the sandbox), but if I want to merge or re-restore from a newer system snapshot, I get the following error:
Unsupported root class: class com.botronsoft.jira.rollout.model.jiraconfiguration.project.impl.JiraProjectComponentImpl
java.lang.IllegalArgumentException: Unsupported root class: class com.botronsoft.jira.rollout.model.jiraconfiguration.project.impl.JiraProjectComponentImpl
at com.botronsoft.jira.rollout.ui.diff.adapters.project.ProjectDiffAdapter.getReferenceType(ProjectDiffAdapter.java:1815)
at com.botronsoft.jira.rollout.ui.diff.adapters.project.ProjectDiffAdapter.describeObjectProperty(ProjectDiffAdapter.java:1715)
at com.botronsoft.jira.rollout.ui.diff.adapters.project.ProjectDiffAdapter.addReference(ProjectDiffAdapter.java:272)
at com.botronsoft.jira.rollout.ui.diff.ModelDetailsBuilder.addInTarget(ModelDetailsBuilder.java:92)
at com.botronsoft.jira.rollout.ui.diff.ModelDetailsBuilder.handleReferenceDiff(ModelDetailsBuilder.java:47)
at com.botronsoft.jira.rollout.ui.diff.ModelDetailsBuilder.build(ModelDetailsBuilder.java:33)
at com.botronsoft.jira.rollout.ui.diff.DiffModelBuilder.attachDiffDetails(DiffModelBuilder.java:446)
at com.botronsoft.jira.rollout.ui.diff.DiffModelBuilder.attachDiffNode(DiffModelBuilder.java:229)
at com.botronsoft.jira.rollout.ui.diff.DiffModelBuilder.build(DiffModelBuilder.java:149)
at com.botronsoft.jira.rollout.ui.DeployModelBuilder.buildDiffModel(DeployModelBuilder.java:130)
at com.botronsoft.jira.rollout.impl.ui.DeployModeBuilderServiceImpl.buildDiffModel(DeployModeBuilderServiceImpl.java:51)
... 3 filtered
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
at com.sun.proxy.$Proxy4297.buildDiffModel(Unknown Source)
at com.botronsoft.jira.rollout.rest.internal.snapshot.DeploymentResource.completeSnapshotModel(DeploymentResource.java:337)
... 3 filtered
at java.lang.reflect.Method.invoke(Method.java:498)
... 3 filtered
at com.botronsoft.jira.rollout.impl.rest.authorization.PermissionResourceInterceptor.checkPermissions(PermissionResourceInterceptor.java:43)
at com.botronsoft.jira.rollout.impl.rest.authorization.PermissionResourceInterceptor.intercept(PermissionResourceInterceptor.java:27)
... 15 filtered
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:154)
... 1 filtered
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:68)
... 32 filtered
at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:56)
... 13 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 53 filtered
at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
... 1 filtered
at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
... 16 filtered
at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37)
... 19 filtered
at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
... 5 filtered
at com.valiantys.jira.plugins.sql.service.servletcontext.ContextListenerServletFilter.doFilter(ContextListenerServletFilter.java:24)
... 3 filtered
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:181)
at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:137)
at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:90)
at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:47)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:174)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:130)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:121)
... 9 filtered
at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:32)
... 3 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 4 filtered
at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
... 7 filtered
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:201)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:178)
at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85)
at net.bull.javamelody.JiraMonitoringFilter.doFilter(JiraMonitoringFilter.java:105)
... 22 filtered
at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
... 24 filtered
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
I've tried googling this and searching KBs, but cannot find anything for "Unsupported root class: class com.botronsoft.jira.rollout.model.jiraconfiguration.project.impl.JiraProjectComponentImpl"
My only workaround at the moment is rebuilding the entire sandbox.
At the American Academy of Family Physicians, siloed marketing teams faced delays and duplicate work. Kerrie Gottschalk shook things up by moving the department to Jira, streamlining processes, boosting visibility, and sparking stronger collaboration.
Read the story