-
Bug
-
Resolution: Fixed
-
Low
-
4
-
Severity 3 - Minor
-
2
-
Summary
Using the "Import from Trello" external service importer built into JIRA can easily fail due to API rate limiting from Trello.
Environment
Cloud
Steps to Reproduce
- create a trello board with more than 300 objects.
- perform the import from Trello into JIRA.
Expected Results
The import completes successfully.
Actual Results
The import fails and returns an error like this:
"Unexpected failure occurred. Importer will stop immediately. Data may be in an unstable state: Error "429: {"error":"RATE_LIMIT_EXCEEDED","message":"Exceeded rate limit to /1/member"}" returned when getting user with the ID {1}.: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 4 path $: Expected BEGIN_OBJECT but was NUMBER at line 1 column 4 path $"
Stacktrace found in Jira logs:
2018-10-12 06:18:48.238 ERROR com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter Unexpected failure occurred. Importer will stop immediately. Data may be in an unstable state Error "429: {"error":"RATE_LIMIT_EXCEEDED","message":"Exceeded rate limit to /1/member"}" returned when getting user with the ID {1}. com.atlassian.jira.plugins.importer.trello.fetch.TrelloParseException: Error "429: {"error":"RATE_LIMIT_EXCEEDED","message":"Exceeded rate limit to /1/member"}" returned when getting user with the ID {1}. at com.atlassian.jira.plugins.importer.trello.fetch.TrelloParser.getUser(TrelloParser.java:78) at com.atlassian.jira.plugins.importer.trello.transformers.CardTransformerImpl.getAttachments(CardTransformerImpl.java:417) at com.atlassian.jira.plugins.importer.trello.transformers.CardTransformerImpl.createBasicIssue(CardTransformerImpl.java:99) at com.atlassian.jira.plugins.importer.trello.transformers.CardTransformerStrategyProviderImpl.lambda$null$2(CardTransformerStrategyProviderImpl.java:26) at java.util.Optional.map(Optional.java:215) at com.atlassian.jira.plugins.importer.trello.transformers.CardTransformerStrategyProviderImpl.lambda$convertToAgilityIssue$3(CardTransformerStrategyProviderImpl.java:26) at com.atlassian.jira.plugins.importer.trello.TrelloImporterClient.lambda$getIssueIterator$0(TrelloImporterClient.java:128) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1359) at java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294) at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206) at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:169) at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300) at java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681) at com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter.importIssues(DefaultJiraDataImporter.java:737) at com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter.doImport(DefaultJiraDataImporter.java:382) at com.atlassian.jira.plugins.importer.trello.TrelloTaskRunner.runTask(TrelloTaskRunner.java:117) at com.atlassian.jira.task.progress.ProgressAwareMessageRunner.processMessage(ProgressAwareMessageRunner.java:87) at com.atlassian.messagequeue.internal.core.NestedMessageConsumer.consume(NestedMessageConsumer.java:135) at com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.processReceiveMessageResult(SQSMessageConsumer.java:171) at com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.run(SQSMessageConsumer.java:112) 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.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 4 path $ at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224) at com.google.gson.Gson.fromJson(Gson.java:888) at com.google.gson.Gson.fromJson(Gson.java:853) at com.google.gson.Gson.fromJson(Gson.java:802) at com.google.gson.Gson.fromJson(Gson.java:774) at com.atlassian.jira.plugins.importer.trello.fetch.TrelloParser.getUser(TrelloParser.java:76) ... 23 more Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 4 path $ at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213) ... 28 more
Workaround
Use CSV export and import:
- Trello Help - exporting data from trello
- Importing data from CSV . If you don't have
Import Trello board to new JWM project. If you would like JSW project in Jira, you can move issues to Software project afterward. Please use the following guides:
- duplicates
-
JRACLOUD-69170 Rate limit requests to Trello during import
- Closed
- relates to
-
JRACLOUD-69170 Rate limit requests to Trello during import
- Closed
-
JCX-175 Failed to load
Do the watchers of this ticket still experience this issue? A fix was released in April. Thank you!