Uploaded image for project: 'JIRA Server (including JIRA Core)'
  1. JIRA Server (including JIRA Core)
  2. JRASERVER-45713

Unable to delete any deletable screens after changing the fieldscreen.id of a screen

    Details

    • Support reference count:
      10
    • Regular Expression:
      java.lang.IllegalArgumentException: Cannot find Screen with id
    • Symptom Severity:
      Minor
    • Occurrence Factor:
      10%
    • UIS:
      1

      Description

      NOTE: This bug report is for JIRA Server. Using JIRA Cloud? See the corresponding bug report.

      Summary

      Not able to delete any screens because one of the screen has an invalid fieldscreen ID. Customer is modifying the field screen id of a screen in the exported workflow xml (the particular screen is used in a transition). The customer deleted the workflow in JIRA and imported the modified XML. All other screen which were deletable (and no changes were made to their fieldscreen.id) are now non-deletable.

      Steps to Reproduce

      1. Create 3 new screens (Screen A, Screen B, Screen C)
      2. Create a new workflow that uses Screen C on a transition
      3. Export the workflow to XML
      4. Delete the workflow in Jira
      5. Edit the XML and change the screen ID for Screen C to an invalid ID
      6. Import the XML into Jira

      Expected Results

      • Screen A and Screen B should be deletable. Any other screens which were deletable should have the 'delete' link and deletable.

      Actual Results

      • Screen A and Screen B are non-deletable.
        The below exception is thrown in the atlassian-jira.log file:
        2015-10-09 10:35:48,135 http-nio-8070-exec-15 ERROR admin 635x309x1 b2jps5 0:0:0:0:0:0:0:1 /secure/admin/ViewFieldScreens.jspa [webwork.util.ValueStack] METHOD: "workflowTransitionViews", exception: 
        java.lang.IllegalArgumentException: Cannot find Screen with id '10322'.
        	at com.atlassian.jira.workflow.WorkflowActionsBean.getFieldScreenForView(WorkflowActionsBean.java:89)
        	at com.atlassian.jira.workflow.AbstractJiraWorkflow.loadFieldScreenActions(AbstractJiraWorkflow.java:503)
        	at com.atlassian.jira.workflow.AbstractJiraWorkflow.getActionsForScreen(AbstractJiraWorkflow.java:487)
        	at com.atlassian.jira.web.action.admin.issuefields.screens.ViewFieldScreens.getWorkflowTransitionViews(ViewFieldScreens.java:164)
        

      Workaround

      The workaround mentioned in the Knowledge base article Workflow error: Cannot find Screen with id 'xxxxx'. Below is the summary of the workaround:

      1. Search for the workflow with that screen ID with the below SQL:

      SELECT * FROM jiraworkflows WHERE DESCRIPTOR LIKE '%11100%';

      2. In the column DESCRIPTOR, there will be a line that used the screen ID from the error, for example:

      <action id="791" name="Resolve Issue" view="fieldscreen">
                <meta name="jira.description">1?????? ?? ???????.</meta>
                <meta name="jira.fieldscreen.id">11100</meta>

      3. Shutdown JIRA.

      4. Update the database to change the screen ID, for example:

      UPDATE jiraworkflows SET DESCRIPTOR = REPLACE (DESCRIPTOR, '<meta name="jira.fieldscreen.id">11100</meta>', '<meta name="jira.fieldscreen.id">3</meta>');

      5. Start JIRA.

      If problem still exists after applying above steps, you may also need to repeat same steps to the jiradraftworkflows table.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                mngangom Michael Ngangom (Inactive)
              • Votes:
                5 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated: