Workflow missing config values or references - JCMA Error
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
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.
Environment
This message applies to the Jira Cloud Migration Assistant (JCMA).
- From Server to Cloud
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
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.
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.
The same can be seen below:
com.atlassian.jira.migration.skip.invalid.workflow.rule
To enable it please check this KB: Enable Dark Feature in Jira