依存関係が欠落しているため、課題をインポートできませんでした: プロジェクト - 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) を実行して Server から Atlassian Cloud にデータを移行しようとすると、移行計画が失敗して、プロジェクトの依存関係に関連する次のメッセージが表示されます。

ERROR <Project_Key> project-import 
We couldn’t import Issue <Issue_Key> because of 1 missing dependencies: Project <Project_Dependency_Key>. 
This caused <Number_of_Items> other items to fail. 
Check the reasons for the missing dependencies on your server site.

環境

このメッセージは Jira Cloud Migration Assistant (JCMA) に適用されます。

  • サーバーからクラウド

原因

これは、一部の Jira 課題が別のプロジェクトのプロジェクト値 (ID またはキー) を使用している可能性があるためです。これらの値は、プロジェクト ピッカー タイプのカスタム フィールドで参照できます。

依存するプロジェクトが移行計画に含まれていない場合、JCMA はその参照を取り込むことができません。

特定する

Jira Server のデータベースでこのクエリを実行し、ログで参照されているプロジェクト キーから、この問題の影響を受けている Jira 課題を特定します。

WITH info AS
  (SELECT p.id AS project_id_source
        , CONCAT(p.pkey, '-', j.issuenum) AS issuekey_source
        , cf.cfname AS custom_field_name
        , cfv.numbervalue::INTEGER AS project_id_dependency
     FROM jiraissue j
    INNER JOIN project p            ON (p.id = j.project)
    INNER JOIN customfieldvalue cfv ON (cfv.issue = j.id)
    INNER JOIN customfield cf       ON (cf.id = cfv.customfield)
    INNER JOIN projectversion pv    ON (pv.id = cfv.numbervalue::INTEGER)
    WHERE cf.customfieldtypekey = 'com.atlassian.jira.plugin.system.customfieldtypes:project'
      AND p.pkey = 'PROJECT_KEY'
      AND p.id != cfv.numbervalue::INTEGER)
  , projects AS
  (SELECT id AS pid_dep
        , pkey AS project_key_dependency
     FROM project)
SELECT project_id_source
     , issuekey_source
     , custom_field_name
     , pid_dep
     , project_key_dependency
  FROM info i
 INNER JOIN projects ps ON (i.project_id_dependency = ps.pid_dep);
WITH info AS
  (SELECT p.id AS project_id_source
        , CONCAT(CONCAT(p.pkey, '-'), j.issuenum) AS issuekey_source
        , cf.cfname AS custom_field_name
        , CAST(cfv.numbervalue AS NUMBER) AS project_id_dependency
   FROM jiraissue j
   JOIN project p            ON (p.id = j.project)
   JOIN customfieldvalue cfv ON (cfv.issue = j.id)
   JOIN customfield cf       ON (cf.id = cfv.customfield)
   JOIN projectversion pv    ON (pv.id = CAST(cfv.numbervalue AS NUMBER))
   WHERE cf.customfieldtypekey = 'com.atlassian.jira.plugin.system.customfieldtypes:project'
     AND p.pkey = 'PROJECT_KEY'
     AND p.id != CAST(cfv.numbervalue AS NUMBER))
     , projects AS
  (SELECT id AS pid_dep
        , pkey AS project_key_dependency
     FROM project)
SELECT project_id_source
     , issuekey_source
     , custom_field_name
     , pid_dep
     , project_key_dependency
  FROM info i
 INNER JOIN projects ps ON (i.project_id_dependency = ps.pid_dep);
WITH info AS
  (SELECT p.id AS project_id_source
        , CONCAT(p.pkey, '-', j.issuenum) AS issuekey_source
        , cf.cfname AS custom_field_name
        , CAST(cfv.numbervalue AS BIGINT) AS project_id_dependency
   FROM jiraissue j
  INNER JOIN project p            ON (p.id = j.project)
  INNER JOIN customfieldvalue cfv ON (cfv.issue = j.id)
  INNER JOIN customfield cf       ON (cf.id = cfv.customfield)
  INNER JOIN projectversion pv    ON (pv.id = CAST(cfv.numbervalue AS BIGINT))
  WHERE cf.customfieldtypekey = 'com.atlassian.jira.plugin.system.customfieldtypes:project'
    AND p.pkey = 'PROJECT_KEY'
    AND p.id != CAST(cfv.numbervalue AS BIGINT))
     , projects AS
  (SELECT id AS pid_dep
        , pkey AS project_key_dependency
     FROM project)
SELECT project_id_source
     , issuekey_source
     , custom_field_name
     , pid_dep
     , project_key_dependency
  FROM info i
 INNER JOIN projects ps ON (i.project_id_dependency = ps.pid_dep);
SELECT project_id_source,
       issuekey_source,
       custom_field_name,
       pid_dep,
       project_key_dependency
FROM ( SELECT p.id AS project_id_source
            , CONCAT(p.pkey, j.issuenum)        AS issuekey_source
            , cf.cfname                         AS custom_field_name
            , CAST(cfv.numbervalue AS UNSIGNED) AS project_id_dependency
         FROM jiraissue j
         INNER JOIN project p            ON (p.id = j.project)
         INNER JOIN customfieldvalue cfv ON (cfv.issue = j.id)
         INNER JOIN customfield cf       ON (cf.id = cfv.customfield)
         INNER JOIN projectversion pv    ON (pv.id = CAST(cfv.numbervalue AS UNSIGNED))
         WHERE cf.customfieldtypekey = 'com.atlassian.jira.plugin.system.customfieldtypes:project'
           AND p.pkey = 'PROJECT_KEY'
           AND p.id != CAST(cfv.numbervalue AS UNSIGNED) ) i
JOIN ( SELECT id AS pid_dep, pkey AS project_key_dependency FROM project ) ps ON (i.project_id_dependency = ps.pid_dep);

注意

プレースホルダーの PROJECT_KEY は、影響を受けているプロジェクトのプロジェクトキーに置き換えます。

ソリューション

  1. そのデータを移行する必要がない場合は、移行しようとしているプロジェクトに関連するすべての画面から、プロジェクト ピッカー タイプのカスタム フィールドを削除します。
    1. これにより、JCMA はその参照のエクスポートをスキップします。
  2. データの移行が必要な場合は、異なるタイプのカスタム フィールドを新規に作成し、この新しいフィールドにプロジェクト ピッカーから同じ値をコピーすることをお勧めします。
    1. その後、影響を受けるプロジェクトの画面からプロジェクト ピッカー カスタム フィールドを削除する必要があります。
最終更新日 2022 年 11 月 14 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.