Uploaded image for project: 'SR for Jira - Development'
  1. SR for Jira - Development
  2. SRJIRA-4826

Bulk Move failed with HTTP 500 error with Issue Picker

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Done
    • Minor
    • Resolution: Done
    • 6.11.0
    • 6.14.0
    • Script Fields
    • None
    • SR4J Sprint 89
    • 3

    Description

      Bulk Move failed with HTTP 500 error with Issue Picker available in one Issue Type and not the other.

      Steps to reproduce

      1. Create an Issue Picker field.
      2. In a default Scrum project (SCRUM), add the Issue Picker field to the screen of Bug issue type only.
      3. Go to Issue Navigator and filter by the project: SCRUM.
      4. Do a bulk move with the issue to Task issue type.
      5. Proceed and you should see it hitting the HTTP 500 error in Step 3.

      Notes

      • The above are demonstrated via the Issue Screen where the Issue Picker exists in Bug screen but not Task screen. Vice-versa is also true.
      • This is also true, vice-versa via the field context as well (even with the field available on both the screen):
        • source: available, destination: not available = HTTP 500
        • source: not available, destination: available = HTTP 500
      • Only affect Bulk Move and not the single Issue Move.
      • The scenario is tested in Jira version 8.11.1 with ScriptRunner 6.11.0 and 6.12.0.

      This is the log of the error:

       
      2020-11-01 10:39:37,245+0800 http-nio-8080-exec-8 ERROR      [o.a.c.c.C.[.[localhost].[/].[action]] Servlet.service() for servlet [action] in context with path [] threw exception [Filter execution threw an exception] with root cause
      Assertion failed: 
      
      assert issue.projectId // Missing projectId in fieldValues
             |     |
             |     null
             com.atlassian.jira.issue.IssueImpl@5de61c57 (toString() == null)
      	at org.codehaus.groovy.runtime.InvokerHelper.assertFailed(InvokerHelper.java:415)
      	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.assertFailed(ScriptBytecodeAdapter.java:670)
      	at com.onresolve.scriptrunner.canned.jira.fields.editable.TemporaryIssueService.populateForCreation(TemporaryIssueService.groovy:78)
      	at com.onresolve.scriptrunner.canned.jira.fields.editable.TemporaryIssueService$populateForCreation.call(Unknown Source)
      	at com.onresolve.scriptrunner.runner.field.IssueParametersCapturingImmutableCustomField.validateParams(IssueParametersCapturingImmutableCustomField.groovy:94)
      	at com.atlassian.jira.bulkedit.operation.BulkMoveOperationImpl.validateFieldLayoutItems(BulkMoveOperationImpl.java:680)
      	at com.atlassian.jira.bulkedit.operation.BulkMoveOperationImpl.validatePopulateFields(BulkMoveOperationImpl.java:603)
      	at com.atlassian.jira.bulkedit.operation.BulkMigrateOperation.validatePopulateFields(BulkMigrateOperation.java:261)
      	at com.atlassian.jira.web.action.issue.bulkedit.BulkMigrate.doSetFields(BulkMigrate.java:243)
      	... ... 
      2020-11-01 10:39:37,378+0800 http-nio-8080-exec-8 ERROR      [c.a.j.web.servlet.InternalServerErrorServlet] {errorId=717b82fe-761a-48ad-ad33-5375621bad1d, interpretedMsg=, cause=Assertion failed: 
          
          assert issue.projectId // Missing projectId in fieldValues
                 |     |
                 |     null
                 com.atlassian.jira.issue.IssueImpl@5de61c57 (toString() == null)
          , stacktrace=Assertion failed: 
              
              assert issue.projectId // Missing projectId in fieldValues
                     |     |
                     |     null
                     com.atlassian.jira.issue.IssueImpl@5de61c57 (toString() == null)
              
          	at org.codehaus.groovy.runtime.InvokerHelper.assertFailed(InvokerHelper.java:415) [?:?]
          	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.assertFailed(ScriptBytecodeAdapter.java:670) [?:?]
          	at com.onresolve.scriptrunner.canned.jira.fields.editable.TemporaryIssueService.populateForCreation(TemporaryIssueService.groovy:78) [?:?]
          	at com.onresolve.scriptrunner.canned.jira.fields.editable.TemporaryIssueService$populateForCreation.call(Unknown Source) [?:?]
          	at com.onresolve.scriptrunner.runner.field.IssueParametersCapturingImmutableCustomField.validateParams(IssueParametersCapturingImmutableCustomField.groovy:94) [?:?]
          	at com.atlassian.jira.bulkedit.operation.BulkMoveOperationImpl.validateFieldLayoutItems(BulkMoveOperationImpl.java:680) [classes/:?]
          	at com.atlassian.jira.bulkedit.operation.BulkMoveOperationImpl.validatePopulateFields(BulkMoveOperationImpl.java:603) [classes/:?]
          	at com.atlassian.jira.bulkedit.operation.BulkMigrateOperation.validatePopulateFields(BulkMigrateOperation.java:261) [classes/:?]
          	at com.atlassian.jira.web.action.issue.bulkedit.BulkMigrate.doSetFields(BulkMigrate.java:243) [classes/:?]
          	... ... 
          , referer=http://localhost:8080/secure/views/bulkedit/BulkMigrateSetFields!default.jspa, servletErrorMessage=}
      

      Full log: 500error.txt

      Attachments

        Activity

          People

            jechlin Jamie Echlin
            bkek Benz Kek
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: