Can JIRA Configuration Manager add on migrate the Agile Boards as well?

I am working on a migration project where I need to migrate around 30 projects from old JIRA instance to newer version on 7.1.1

Can we migrate JIRA Agile boards as well for those 30 projects? Or would that boards need to be manually created again on target? Any other way to migrate them?

2 answers

1 accepted

Hi Ravi,

CMJ will add support for Agile boards in version 4.0 - we plan to release it in a couple of weeks.

Unfortunately there aren't easy alternatives at the moment. You'll need to create them manually or with some scripts. I've provided some more details in reply to the email you sent us.

Thanks,

George

George,

We recently used your latest version of Configuration Manager in which there is a feature to migrate Agile Boards as well. It worked well for few project but we got error with others. I have attached the error message too.

Please let me know the correct way to raise this issue.

We actually tried to perform Agile Board migration after data migration using Project Import but this error comes for few projects only.

-Ravi

Error while taking snapshot with Agile boards

DETAILS:
jqlQuery should not be null!
com.atlassian.jira.util.dbc.Assertions$NullArgumentException: jqlQuery should not be null!
    at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:25)
    at com.atlassian.jira.jql.parser.DefaultJqlQueryParser.parseQuery(DefaultJqlQueryParser.java:31)
    at com.botronsoft.jira.rollout.impl.convert.agile.AgileBoardConverter.toQuery(AgileBoardConverter.java:305)
    at com.botronsoft.jira.rollout.impl.convert.agile.AgileBoardConverter.convertSubquery(AgileBoardConverter.java:168)
    at com.botronsoft.jira.rollout.impl.integrity.DuplicateObjectInterceptor.invoke(DuplicateObjectInterceptor.java:46)
    at com.botronsoft.jira.rollout.impl.integrity.ConversionInterceptor.invoke(ConversionInterceptor.java:36)
    at com.botronsoft.jira.rollout.impl.convert.agile.AgileBoardConverter.doConvert(AgileBoardConverter.java:106)
    at com.botronsoft.jira.rollout.impl.integrity.DuplicateObjectInterceptor.invoke(DuplicateObjectInterceptor.java:46)
    at com.botronsoft.jira.rollout.impl.integrity.ConversionInterceptor.invoke(ConversionInterceptor.java:36)
    at com.botronsoft.jira.rollout.impl.convert.agile.AgileBoardConverter.doConvert(AgileBoardConverter.java:68)
    at com.botronsoft.jira.rollout.impl.convert.AbstractObjectConverter.convert(AbstractObjectConverter.java:23)
    at com.botronsoft.jira.rollout.impl.configuration.EMFModelObjectResolverImpl.convert(EMFModelObjectResolverImpl.java:35)
    at com.botronsoft.jira.rollout.impl.configuration.AbstractEMFModelObjectResolverImpl.getModelObject(AbstractEMFModelObjectResolverImpl.java:405)
    at com.botronsoft.jira.rollout.impl.configuration.AbstractEMFModelObjectResolverImpl.getModelObjectById(AbstractEMFModelObjectResolverImpl.java:389)
    at com.botronsoft.jira.rollout.impl.configuration.AbstractEMFModelObjectResolverImpl.getAgileBoardById(AbstractEMFModelObjectResolverImpl.java:377)
    at com.botronsoft.jira.rollout.impl.configuration.ProjectConfigurationExportStrategy.doExportAdditionalConfiguration(ProjectConfigurationExportStrategy.java:51)
    at com.botronsoft.jira.rollout.impl.configuration.AbstractConfigurationExportStrategy.exportConfiguration(AbstractConfigurationExportStrategy.java:70)
    at com.botronsoft.jira.rollout.impl.JiraConfigurationServiceImpl.exportConfiguration(JiraConfigurationServiceImpl.java:611)
    at com.botronsoft.jira.rollout.impl.JiraConfigurationServiceImpl.exportConfiguration(JiraConfigurationServiceImpl.java:223)
    at com.botronsoft.jira.rollout.impl.snapshot.SnapshotServiceImpl.createSnapshot(SnapshotServiceImpl.java:98)
    at sun.reflect.GeneratedMethodAccessor2210.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    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:207)
    at com.sun.proxy.$Proxy3107.createSnapshot(Unknown Source)
    at com.botronsoft.jira.rollout.rest.internal.SnapshotsResource.createSnapshot(SnapshotsResource.java:156)
SOLUTION:
Copy the details above and send an email to support@botronsoft.com.

Hi Ravi,

I replied to your email already. Shortly - the problem is that on some DBs the empty query strings are persisted as null and CMJ should handle this accordingly. We're working on releasing a fix.

Thanks!

Also, one more thing I wanted to ask that Agile Boards depend on the Filters. Would it be possible if the depended filters are automatically moved along with their Agile Boards? The reason is that it becomes very difficult to select the filters and then boards using checkboxes.

Even better if there could be an option to migrate the boards automatically (optional) related the the project's configurations that we are migrating.

Hi Ravi,

The filters for boards are actually included automatically in the snapshot and migrated. Although this isn't reflected in the filter selection table in the UI. We'll be adding improvements to make this more obvious in the future.

This is a great suggestion and we're planning on including such an option in future releases.

Thanks!

George, I am having the same issue as Ravi Sagar and please let us know if the future release is still happening and when do we get to use the product in the way we expected.

 

Hi Guhan,

The issue reported by Ravi has been fixed awhile ago and we have test running on our CI to make sure it doesn't come up as a regression.

You must be having a different issue. Can you send us more details at support@botronsoft.com ?

Thanks!

Suggest an answer

Log in or Sign up to answer
Atlassian Community Anniversary

Happy Anniversary, Atlassian Community!

This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.

Read more
Community showcase
Posted 11 hours ago in Jira

We want to know what Jira Service Desk apps you're using!

Hi Community! My name is Amir and I’m on the Jira Service Desk product marketing team at Atlassian. Our team would love to understand how you’re leveraging our ecosystem for Jira Service Desk. Wha...

34 views 0 5
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you