Unable to Edit or Delete status in Workflow
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Clicking a status in the workflow editor does not trigger the popup screen with options like 'Edit', 'Remove Status', 'Properties', etc.
Diagnosis
In Jira, status are stored in table: 'issuestatus' and workflow related details are stored in table: 'jiraworkflows'. 'jiraworkflows' table has a column: Descriptor, which stores the content of workflow in XML format. When a Workflow is exported to an XML file, it is the content of the 'Descriptor' column in 'jiraworkflows' table which gets exported to the XML file. Also, when viewing a Workflow from Project Settings or from Settings --> Issues --> Workflow page, Jira creates the Workflow diagram from XML data present in 'Descriptor' column of 'jiraworkflows' table.
Run SQL query against the Jira database to get the Workflow XML data from 'jiraworkflows' table.
1
select descriptor from jiraworkflows where workflowname = '<Workflow name>'
replace <workflow name> with 'problematic' workflow name
Search for the 'problematic' status from the output of above query to confirm the Status is present in XML data. Lets say 'Problematic' status is 'Freeze' then search should show
1 2
<step id="17" name="Freeze"> + <meta name="jira.status.id">10100</meta>
Run SQL query against the Jira Database to see if there is any entry for 'problematic' status in issuestatus table
1
select * from issuestatus where pname = '<Status name>'
replace <Status name> with 'Problematic' Status name. SQL query should give no result.
Cause
One of the reason is, during migration of Jira from one instance to another or from Jira Cloud to Jira on-prem, issuestatus table sometime is not restored completely. Due to which some status are missing from issuestatus table. The status details are still present in the XML data in jiraworkflows table and thus it shows up in Workflow diagram.
Solution
Stop Jira service
Take a backup of Jira database
Always back up your data before performing any modification to the database. If possible, try your modifications on a test server.
Search for the 'problematic' status in XML data retrieved from below SQL query
1
select descriptor from jiraworkflows where workflowname = '<Workflow name>'
replace <workflow name> with 'problematic' workflow name
Make a note of 'jira.status.id' associated with the Status
Run below query to insert the status related detail in issuestatus table
1
INSERT INTO issuestatus values (<jira.status.id>, (select max(sequence)+1 from issuestatus), '<status-name>',' ', ' ');
replace <jira.status.id> with jira.status.id noted in Step #2 and <status-name> with the 'Problematic' Status name
Start Jira service
Was this helpful?