Workflow missing config values or references - JCMA エラー
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
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.
*Fisheye および Crucible は除く
要約
サーバーからクラウドに移行するために Jira Cloud Migration Assistant (JCMA) の実行を試みた際に移行計画が失敗し、ワークフローに問題がある可能性がある旨を示す次のメッセージが表示される。
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.
環境
このメッセージは Jira Cloud Migration Assistant (JCMA) に適用されます。
- サーバーからクラウド
原因
これは、Jira Cloud Migration Assistant では現時点で非ネイティブの Jira ワークフロー機能がサポートされていないために発生します。
- 条件: グループのユーザー、プロジェクト ロールのユーザー、フィールド値、サブタスクのブロック
- バリデーター: 必須フィールド、変更されたフィールド
- 事後操作: フィールド値の消去、カスタム フィールドの更新、他のフィールドからの値のコピー、委任
ソリューション
エラー メッセージに基づき、引き続きこれらを利用するにはクラウド サイトでこれらを手動で再作成する必要があります。この問題を解決するには 3 種類の異なる手順を利用しまます。以降をご確認ください。
1. 移行前タスクでの SQL クエリ
非ネイティブなワークフロー事後操作 (アドオン、アプリなど) を確認します。
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%'
非ネイティブなバリデーター (アドオン、アプリなど) を確認します。
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%'
非ネイティブなワークフロー条件 (アドオン、アプリなど) を確認します。
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. ワークフロー構成を手動で確認および検証
- ソースで [設定] > [課題] > [ワークフロー] に移動します
- エラー メッセージと同一の [ワークフロー名] を見つけ、[表示] をクリックします。可読性のために [トランジション ラベルを表示] のボックスを選択しておくようにします。
- [トランジション名] を見つけてクリックします。
- エラー メッセージで言及されている事後操作/バリデーターまたは条件を見つけ、それらで値が不足していないことを確認します。
ログに移行失敗が記載されているプロジェクトについて上記手順を繰り返します。
不足している値に対応したら、このプロジェクトのターゲット クラウドへの移行を再試行できます。
3. ダーク機能を使い、サポートされていないワークフロー機能を無視
また、上記のチェックは時間がかかるため、JCMA でこのチェックを無効化し、サポート対象外の機能を無視するようにするダーク機能を用意しています。
以降で同様のものを確認できます。
com.atlassian.jira.migration.skip.invalid.workflow.rule
有効化方法についてはこちらのナレッジベースをご確認ください。Jira でダーク機能を有効化する