Workflow missing config values or references - JCMA Error

Still need help?

The Atlassian Community is here for you.

Ask the community

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%'
These queries work for Postgres. You may need to translate those to your specific database flavor to get similar results.


2. Manually check and validate the Workflows config

  1. On the Source, go to Settings > Issues > Workflows
  2. 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
  3. Find the [Transition_Name] and click on it
  4. 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

Last modified on Jan 11, 2022

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.