Transfer User doesn't complete the action

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Low
    • None
    • Affects Version/s: 9.0.3
    • Component/s: Actions
    • Minor
    • 1

      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

      1. Import an automation rule having null Assign Type
        • "assignType":null
      2. 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

      1. Find the problematic automation rules in the JSON export
      2. Update the rules in the Jira UI
      3. Retry the Transfer User operation

      Automation for Jira - Transfer User fails

        1. Transfer User.png
          Transfer User.png
          143 kB
        2. Assignrule.json
          1 kB

            Assignee:
            Unassigned
            Reporter:
            Aline Staudt
            Votes:
            3 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: