Workflow missing config values or references - JCMA Error
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
When trying to run the Jira Cloud Migration Assistant (JCMA) to migrate from Server to Cloud, the migration plan fails and the following message appears stating there are possible issues with the Workflow:
ERROR <Project_Key> project-export
The workflow: [Workflow_Name] transition [Transition_Name] Missing config [Config_Name] value refence [Value_Reference_Name] in workflow rule condition/validator or post-function [Workflow_Rule_Name].
Double-check the workflow rule for missing config values or references.
Diagnosis
Based on the error message, this means they must be manually re-created on the cloud site if you’d like to continue using them. To solve that case we can work on three different fronts, they are segregated below.
Cause
This happens because non-native Jira Workflow Functions are currently not supported by the Jira Cloud Migration Assistant.
Condition: user in group, in project role, field value, subtask blocking
Validator: required field, field changed
Post Function: clear field value, update custom field, copy value from other field, delegating
Solution
These queries work for Postgres. You may need to translate those to your specific database flavor to get similar results.
1. SQL queries as a pre-migration task
Check for non-native workflow Post-functions (Add-ons and apps etc)
select * from (select t.*, jw.workflowname, unnest(xpath('//action[@name="' || t.action || '"]/results/unconditional-result/post-functions/function/arg[@name="class.name"]/text()', (regexp_replace(descriptor, '\<\![^\<]+\>', ''))::xml)) as post_function_class from jiraworkflows jw join (select id, unnest(xpath('//*/action/@name', (regexp_replace(descriptor, '\<\![^\<]+\>', ''))::xml)) as action from jiraworkflows) t on t.id = jw.id ) a where post_function_class::text not like 'com.atlassian.jira%'
Check for non-native workflow Validators (Add-ons and apps etc)
select * from (select t.*, jw.workflowname, unnest(xpath('//action[@name="' || t.action || '"]/validators/validator/arg[@name="class.name"]/text()', (regexp_replace(descriptor, '\<\![^\<]+\>', ''))::xml)) as validators from jiraworkflows jw join (select id, unnest(xpath('//*/action/@name', (regexp_replace(descriptor, '\<\![^\<]+\>', ''))::xml)) as action from jiraworkflows) t on t.id = jw.id ) a where validators::text not like 'com.atlassian.jira%'
Check for non-native workflow Conditions (Add-ons and apps etc)
select * from (select t.*, jw.workflowname, unnest(xpath('//action[@name="' || t.action || '"]/restrict-to/conditions/condition/arg[@name="class.name"]/text()', (regexp_replace(descriptor, '\<\![^\<]+\>', ''))::xml)) as conditions from jiraworkflows jw join (select id, unnest(xpath('//*/action/@name', (regexp_replace(descriptor, '\<\![^\<]+\>', ''))::xml)) as action from jiraworkflows) t on t.id = jw.id ) a where conditions::text not like 'com.atlassian.jira%'
2. Manually check and validate the Workflows config
On the Source, go to Settings > Issues > Workflows
Find the [Workflow_Name] same as the error message and click on View. Ensure to mark the box to Show Transition Labels for added readability
Find the [Transition_Name] and click on it
Review the post-function/validator or the condition mentioned in the error message and validate that there aren't any missing values in it
Repeat the above procedure for the projects that have failed to migrate in the logs. Once we have addressed any missing values, we can retry to migrate this project to the target cloud.
3. Ignore the Workflow functions that are not supported via Dark Feature
Additionally, as we know that these checks as mentioned above take a lot of time we have a Dark Feature to disable this JCMA check and ignore these functions as they are not supported. To enable Dark Features please check this KB: Enable Dark Feature in Jira
Dark Feature name: com.atlassian.jira.migration.skip.invalid.workflow.rule
Was this helpful?