Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-77741

Not selecting any sub-task while performing Bulk operation loses the current search

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Low Low
    • None
    • 7.13.5, 7.13.6, 8.4.0, 9.4.4, 9.14.1
    • Bulk Operations
    • None

      Issue Summary

      • Not selecting any sub-task while performing Bulk operation loses the current search.
      • Bulk Operation (BulkEdit1.jspa) reverts the issues list to use a previously viewed or default filter when trying to proceed without selecting a checkbox on "Choose Issues" step.
      • This can lead to unrecoverable deletion of unintended issues. 

      Steps to Reproduce

      1. Perform as a user who has access to multiple projects and can perform bulk operations.
      2. Use the "Search for issues" option in the top menu Issues dropdown.
      3. Navigate to a specific project (doesn't really matter how) that has issues with sub-tasks.
      4. Locate and view an issue that has sub-tasks.
      5. Click the ellipsis to the right of the Sub-Tasks section and select "Bulk Operation".
      6. Note: On the next screen (BulkEdit1!default.jspa), notice which issues are displayed. They should be sub-tasks.
        The URL will contain a querystring like "JIRA_URL/issue/bulkedit/BulkEdit1!default.jspa?reset=true&searchParent=TP-2".
      7. Do NOT select any checkboxes and click "Next".
      8. On the next screen, observe that Jira displays "You must select at least one issue to bulk edit."
      9. Note: Now notice which issues are displayed. These are NOT the original sub-tasks or issues you selected. The querystring ("reset=true&searchParent=TP-2") is no longer present in the URL and the issue list has reverted to a different set of issues.

       Expected Results

      • The earlier search results are NOT lost.

      Actual Results

      • The earlier search results are lost.
      • Failing to select issues in the "Choose Issues" step should display the warning message without resetting or changing the issues in the list. If the querystring is required after the http POST when you click "Next", it should be preserved.

      Diagnosis

      • From actions.xml

      https://stash.atlassian.com/projects/JIRASERVER/repos/jira/browse/jira-components/jira-core/src/main/resources/actions.xml?at=refs%2Fheads%2F9.14.0-QR-20231130100552-branch

      <!-- Bulk Change -->
          <action name="issue.bulkedit.BulkEdit1" alias="BulkEdit1">
              <view name="input">/secure/views/bulkedit/bulkedit.jsp</view>
              <view name="error">/secure/views/bulkedit/bulkedit.jsp</view>
          </action>
      
      …..
      
      
          <action name="issue.bulkedit.BulkMigrate" alias="BulkMigrate">
              <command name="details" alias="BulkMigrateDetails">
                  <view name="success">/secure/views/bulkedit/bulkmigrate/1-choosecontext.jsp</view>
                  <view name="singleerror">/secure/views/bulkedit/bulkmigrate/1-single-errorpage.jsp</view>
              </command>
      
              <command name="chooseContext" alias="BulkMigrateChooseContext">
                  <view name="input">/secure/views/bulkedit/bulkmigrate/1-choosecontext.jsp</view>
                  <view name="error">/secure/views/bulkedit/bulkmigrate/1-choosecontext.jsp</view>
              </command>
              <command name="chooseSubTaskContext" alias="BulkMigrateChooseSubTaskContext">
                  <view name="input">/secure/views/bulkedit/bulkmigrate/5-choosecontextsubtask.jsp</view>
                  <view name="error">/secure/views/bulkedit/bulkmigrate/5-choosecontextsubtask.jsp</view>
                  <view name="choosestatus">/secure/views/bulkedit/bulkmigrate/2-choosestatus.jsp</view>
                  <view name="previous">/secure/views/bulkedit/bulkmigrate/3-updatefielddetails.jsp</view>
                  <view name="success">/secure/views/bulkedit/bulkmigrate/3-updatefielddetails.jsp</view>
              </command>
              <command name="chooseStatus" alias="BulkMigrateChooseStatus">
                  <view name="input">/secure/views/bulkedit/bulkmigrate/2-choosestatus.jsp</view>
                  <view name="error">/secure/views/bulkedit/bulkmigrate/2-choosestatus.jsp</view>
                  <view name="previous">/secure/views/bulkedit/bulkmigrate/1-choosecontext.jsp</view>
                  <view name="success">/secure/views/bulkedit/bulkmigrate/3-updatefielddetails.jsp</view>
              </command>
              <command name="setFields" alias="BulkMigrateSetFields">
                  <view name="input">/secure/views/bulkedit/bulkmigrate/3-updatefielddetails.jsp</view>
                  <view name="error">/secure/views/bulkedit/bulkmigrate/3-updatefielddetails.jsp</view>
                  <view name="choosestatus">/secure/views/bulkedit/bulkmigrate/2-choosestatus.jsp</view>
                  <view name="success">/secure/views/bulkedit/bulkmigrate/3-updatefielddetails.jsp</view>
                  <view name="confirm">/secure/views/bulkedit/bulkmigrate/4-confirmdetails.jsp</view>
                  <view name="subtaskphase">/secure/views/bulkedit/bulkmigrate/5-choosecontextsubtask.jsp</view>
              </command>
              <command name="perform" alias="BulkMigratePerform">
                  <view name="previous">/secure/views/bulkedit/bulkmigrate/3-updatefielddetails.jsp</view>
                  <view name="input">/secure/views/bulkedit/bulkmigrate/4-confirmdetails.jsp</view>
                  <view name="error">/secure/views/bulkedit/bulkmigrate/4-confirmdetails.jsp</view>
              </command>
          </action>
      

      Workaround

      • Not from the Product end, but the user can go back via the browser.

              Unassigned Unassigned
              c3678a055509 Leonardo Souto
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: