現象
Jira を転送元として設定し、JQL に project IS NOT EMPTY など全プロジェクトを対象とする条件を指定すると、
一部のプロジェクトでのみ使用されているフィールドがカラム定義に含まれないことがあります。
原因
TROCCO の自動データ設定が、一部のレコードをサンプリングして取得しカラム定義を作成するためです。
そのため、全プロジェクトを指定した場合、取得した一部のレコードに含まれないフィールドは「存在しない」とみなされカラム定義に反映されない、という動作になります。
特に、特定のプロジェクトでしか使用されていないフィールドが欠落しやすくなります。
解決策
① プロジェクトごとに転送し、データマート定義でJOINする(推奨)
プロジェクトごとにフィールド構成が大きく異なる場合は、プロジェクト単位で転送設定を作成し、後で統合する方法も有効です。
手順は以下になります。
プロジェクトごとに転送設定を作成し、個別テーブルに転送する
複数テーブルを データマート定義で JOIN して統合する
この方法なら、プロジェクト特有のフィールドが欠落しません。
② JQLを調整して全プロジェクトを網羅的に取得
JQL を工夫し、全プロジェクトから最低1件ずつ issue が取得できるようにすることで、自動データ設定を行っても漏れなくフィールドを認識できるようになります。
全プロジェクトに共通して存在する issue を指定できる場合、key IN ("SAMPLE-KEY")のように記述することで、
全プロジェクトから少しずつ issue を取得でき、プロジェクト固有のフィールドもカラム定義に反映可能です。
※ カラム定義が揃ったら、最終的な JQL に書き換えてください。
その後は自動データ設定をスキップすることで、カラムが変更されることを防げます。※ 全プロジェクトを確実にサンプリングできるかはわからないので注意してください。
コメント
0件のコメント
記事コメントは受け付けていません。