Issue Summary
Transfer User functionality keeps spinning without triggering errors in the UI. The page seems to be loading to complete the action, but nothing changes.
Steps to Reproduce
- Import an automation rule having null Assign Type
- "assignType":null
- Use the Transfer User tool to move rules to another user, via the page ⚙ > System > Automation Rules > ... > Transfer user
Expected Results
The tool fails with a validation error mentioning the nullable Assign Type actions
Actual Results
The tool keeps spinning indefinitely in the UI
Application logs trigger the following error:
2024-05-31 09:52:19,156-0300 http-nio-8080-exec-14 url: /rest/cb-automation/latest/configuration/transfer/validate; user: jiraadmin ERROR jiraadmin 592x288x1 109nefv 0:0:0:0:0:0:0:1 /rest/cb-automation/latest/configuration/transfer/validate [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: null java.lang.NullPointerException at com.codebarrel.automation.rulecomponent.jira.action.assign.AssignConfigTransform.validateMigration(AssignConfigTransform.java:54) at com.codebarrel.automation.api.component.migrate.ConfigMigrationService.lambda$validateComponent$2(ConfigMigrationService.java:86) at java.util.Optional.map(Optional.java:215) at com.codebarrel.automation.api.component.migrate.ConfigMigrationService.validateComponent(ConfigMigrationService.java:86) at com.codebarrel.automation.api.component.migrate.ConfigMigrationService.lambda$validateComponents$1(ConfigMigrationService.java:77) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) at com.codebarrel.automation.api.component.migrate.ConfigMigrationService.validateComponents(ConfigMigrationService.java:78) at com.codebarrel.automation.api.component.migrate.ConfigMigrationService.validateMigration(ConfigMigrationService.java:37) at com.codebarrel.automation.api.service.TransferUserService.lambda$validateTransfer$0(TransferUserService.java:40) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ...
OR
2024-05-31 09:55:29,156-0300 http-nio-8080-exec-16 url: /rest/cb-automation/latest/configuration/transfer/validate; user: jiraadmin ERROR jiraadmin 1216x137335x1 1qtloz6 0:0:0:0:0:0:0:1 /rest/cb-automation/latest/configuration/transfer/validate [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: Cannot invoke "com.codebarrel.automation.rulecomponent.jira.action.assign.AssignConfig$AssignType.ordinal()" because the return value of "com.codebarrel.automation.rulecomponent.jira.action.assign.AssignConfig.getAssignType()" is null java.lang.NullPointerException: Cannot invoke "com.codebarrel.automation.rulecomponent.jira.action.assign.AssignConfig$AssignType.ordinal()" because the return value of "com.codebarrel.automation.rulecomponent.jira.action.assign.AssignConfig.getAssignType()" is null at com.codebarrel.automation.rulecomponent.jira.action.assign.AssignConfigTransform.validateMigration(AssignConfigTransform.java:54) at com.codebarrel.automation.api.component.migrate.ConfigMigrationService.lambda$validateComponent$2(ConfigMigrationService.java:86) at java.base/java.util.Optional.map(Unknown Source) at com.codebarrel.automation.api.component.migrate.ConfigMigrationService.validateComponent(ConfigMigrationService.java:86) at com.codebarrel.automation.api.component.migrate.ConfigMigrationService.lambda$validateComponents$1(ConfigMigrationService.java:77) at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source) at com.codebarrel.automation.api.component.migrate.ConfigMigrationService.validateComponents(ConfigMigrationService.java:78) at com.codebarrel.automation.api.component.migrate.ConfigMigrationService.validateMigration(ConfigMigrationService.java:37) at com.codebarrel.automation.api.service.TransferUserService.lambda$validateTransfer$0(TransferUserService.java:40) at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source) ...
Workaround
- Find the problematic automation rules in the JSON export
- Update the rules in the Jira UI
- Retry the Transfer User operation
- links to
- mentioned in
-
Page Loading...