Trello: No longer able to import Trello board in JIRA Server (nullpointer exception)

XMLWordPrintable

    • 7.02
    • Severity 3 - Minor

      Summary

      When attempting to import a Trello Board, an error occurs. This issue has been introduced recently. This issue is specific to some boards.

      Environment

      JIRA Cloud or JIRA Server.

      Steps to Reproduce

      Currently, it is unknown exactly what sort of Trello Board or configuration is required to replicate this issue. This needs further investigation.

      Expected Results

      When importing Trello boards into JIRA, they should be fully imported without throwing a NullPonterException.

      Actual Results

      An Exception is thrown when trying to import Trello Card history.

      java.lang.NullPointerException
      	at com.atlassian.jira.plugins.importer.trello.transformers.CardTransformer.getHistory(CardTransformer.java:521)
      	at com.atlassian.jira.plugins.importer.trello.transformers.CardTransformer.importHistory(CardTransformer.java:159)
      	at com.atlassian.jira.plugins.importer.trello.transformers.CardTransformer.apply(CardTransformer.java:111)
      	at com.atlassian.jira.plugins.importer.trello.transformers.CardTransformer.apply(CardTransformer.java:68)
      	at com.google.common.collect.Iterators$8.transform(Iterators.java:799)
      	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
      	at com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter.importIssues(DefaultJiraDataImporter.java:786)
      	at com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter.doImport(DefaultJiraDataImporter.java:414)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	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.$Proxy3494.doImport(Unknown Source)
      	at com.atlassian.jira.plugins.importer.imports.importer.impl.ImporterCallable.call(ImporterCallable.java:26)
      	at com.atlassian.jira.plugins.importer.imports.importer.impl.ImporterCallable.call(ImporterCallable.java:15)
      	at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:453)
      	at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:421)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at com.atlassian.jira.task.ForkedThreadExecutor$ForkedRunnableDecorator.run(ForkedThreadExecutor.java:216)
      	at java.lang.Thread.run(Thread.java:745)
      

      Original Description

      This happens on a Trello board that i have been able to import 4 weeks ago. I have looked at the new trello cards and archived cards but can not find anything strange. I have tried it in 3 different cloud instances with the same outcome. I also tried it on server+agile 6:latest but with no luck.

      Other boards are imported just fine, i also tried to create a board where i reproduce some of the cards that are in the board i can not import, such as huge checklists, using markup, unreachable attachments and so forth but without any luck.

      Plugin version is whatever is distributed in Jira Cloud.

      Can you please advise this is a big stopper for us as im supposed to import this board for a sprint on monday.

      Error log is attached to the issue
      Thanks

            Assignee:
            Unassigned
            Reporter:
            Ignat (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: