2. オブジェクト タイプと属性マッピングを作成する

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

基本インポート設定を作成したら、データをオブジェクト タイプとその属性にマッピングする必要があります。定義済みの構造と構成を作成する場合は完全なマッピングは作成不要かもしれませんが、このページは必要に応じてマッピングを確認して編集するのに役立ちます。

インポート設定を表示する

現状を確認しやすくするために、マッピングを作成しないサンプルのインポート設定を次に示します (オブジェクト タイプ マッピングがないため無効)。

オブジェクト タイプ マッピングを作成する

オブジェクト タイプ マッピングを作成するには、次の手順に従います。

  1. When viewing your import configuration, select Create object type mapping.
  2. 必須フィールドを指定します。
  3. すべてのオブジェクト タイプ マッピングはデータを 1 つのオブジェクト タイプにインポートするということを覚えておきましょう。より多くのオブジェクト タイプがある場合は、オブジェクト タイプ マッピングを同じインポート設定にさらに作成します。別のオブジェクト タイプ マッピングを追加し始める前に、次の説明に従って属性マッピングを完了します。 
オブジェクト タイプ マッピングのフィールドを表示する
フィールド説明
objectType

データをインポートする Insight オブジェクト タイプ。この値は変更できません。別のオブジェクト タイプにインポートするには、新しいオブジェクト タイプ マッピングを作成する必要があります。

セレクター

これはインポート タイプによって異なります。詳細はタイプをご参照ください。

データ ソースを IQL で絞り込む

実際にインポートする前に、IQL によってインポートされるデータを絞り込めます。たとえば、データを「コンピューター」のオブジェクト タイプにインポートする場合は、Mac ではなく PC のみをインポートするように選択できます。

オブジェクト参照で絞り込む

オブジェクト参照に基づいては絞り込めません。これらは、オブジェクトの作成または更新後に個別に処理されます。

次は、IQL によってインポート ソースをさまざまなオブジェクト タイプに分割する方法を説明するビデオです。

Missing Objects

オブジェクトがデータ ソースにない (Insight にはある) 場合の対処方法を選択します。

  • 更新: 定義済みの値のあるオブジェクトを、事前に指定した属性で更新します。しきい値の設定が適用されます。
  • 削除: オブジェクトを Insight から削除します。しきい値の設定が適用されます。
  • 無視: オブジェクトをそのままにします。
欠落しているアウトバウンド参照のオブジェクト

参照オブジェクト (データソースの既存オブジェクトから参照) がデータ ソースにない場合の対処方法を選択します。たとえば、参照されるホストとアプリのオブジェクト タイプをインポートするようにインポートが設定されていて、そのうちの 1 つがない場合などです。

  • 削除: 欠落しているオブジェクトへのアウトバウンド参照が削除されます。
  • 無視: 参照をそのままにします。

Insight は同じインポートのデータのみを考慮するため、複数のインポート設定がある場合にこの機能は動作しません。

しきい値タイプ

オブジェクトがデータ ソースにない場合は、更新と削除の各設定のしきい値を指定できます。つまり、Insight はしきい値に指定された条件 (日数または同期) が満たされるまで、これらのアクションの実行を待機します。 

[しきい値タイプ] を [同期] に、[しきい値番号] を 1 に設定すると、欠落しているオブジェクトの削除は 2 回目以降の同期から開始されます。同様に [しきい値番号] を 2 に設定すると、欠落しているオブジェクトの削除は 3 回目以降の同期から開始されます。

しきい値番号

The number of days or synchronizations before performing the actions described above. If you want to remove missing objects from the first synchronization onwards, set the Threshold number to 0.

空の値

Defines what to do if a Data Locator is empty. Should the import remove the attribute value or just ignore it and leave the current value?

これによって、このオブジェクト マッピングに対するインポート タイプの「一般フィールド」設定が上書きされます。

Defines what to do if a Data Locator is unknown to Insight. This can happen with attribute types like "Status" and "Select". The value can be added as an option, or just ignored.

これによって、このオブジェクト マッピングに対するインポート タイプの「一般フィールド」設定が上書きされます。

Match Identifier

大小文字を区別する - 識別子 IQL は STRICT_EQUAL (==) で構築されるため、テキスト属性では識別子は大小文字を区別して比較されます。そのため「Data Value」と「data value」は同じものとは見なされません。
大小文字を区別しない - 識別子 IQL は EQUAL (=) で構築されるため、テキスト属性では識別子は大小文字を無視して比較されます。そのため「Data Value」と「data value」は同じものと見なされます。

属性マッピングを作成する

オブジェクト タイプ マッピングが作成されたら、それを展開して属性マッピングを表示できます。属性マッピングは、オブジェクト タイプ マッピングごとに個別に作成されます。これは、データ ソースのデータ ロケーターを Insight にあるオブジェクト タイプの属性にマッピングするためです。オブジェクト タイプ マッピングごとに、少なくとも 1 つの属性マッピングが必要です。

識別子

属性をオブジェクト識別子の一部と見なすかどうかを指定します。複数の属性が識別子として使用される場合、結合された値はオブジェクトと重複を識別するために使用されます。これは、オブジェクトの識別を担当する内部 IQL を構築するために使用されます。

たとえば、2 つのインポート属性が Insight 属性の「名」と「姓」に設定されて識別子として指定されている場合は、次の IQL によって Insight のオブジェクトが識別されます。

"First Name" == <first name value from source> AND "Last Name" == <last name value from source>

すべての属性は識別子にできます。ただし、最高のパフォーマンスを得るには、できる限り既定の属性タイプを使用するようにしてください。たとえば「ユーザー」属性を識別子として使用する場合は、設定したデータ ロケーターのデータ ソースからユーザーを見つけるために Jira API をクエリする必要があります。これは、ユーザー ディレクトリが大きい場合に Jira がボトル ネックになる可能性があることを意味します。この場合は、別の属性 (デフォルト/テキスト) をユーザー キーに追加してみると、インポートがはるかに高速になります。

If you are importing objects from a CSV file into Insight, you must identify the objects by the attribute that is assigned as a label, not their name or key. The object key is generated automatically when an object is created manually or via import. Even if the object key is present in the source file (say CSV or JSON), a new object and its key will be generated instead of using the one in the source file, especially if the object key is the identifier. This could result in multiple duplicates.

Data locator

すべてのインポート タイプはデータ ロケーターを提供する必要があります。これは、Insight がデータを保持するカテゴリとして認識しているものです。たとえば、CSV インポートではすべての列がデータ ロケーターです。

Insight 属性

データ ロケーターをマッピングしてそのデータをインポートします Insight 属性。

オブジェクト マッピング (IQL)

タイプ「オブジェクト」の Insight 属性 (オブジェクト間の参照) にのみ使用されます。

この場合は、データ ロケーターによって提供されるデータに応じて、設定するオブジェクトをフェッチする IQL を提供する必要があります。次の例で、Name は参照されるオブジェクトの Name 属性にある Insight 内の値への参照です

IQL では、次のようにプレースホルダーを使用できます。

  • 単一属性の (最大カーディナリティが 1 と等しい) 場合、プレースホルダーを持つ IQL は次のようになります。

    Name = ${DATA LOCATOR}
  • 複数属性の (最大カーディナリティが 1 より大きい) 場合、プレースホルダーを持つ IQL は次のようになります。

    Name IN (${DATA LOCATOR${0}})

    「0」(ゼロ) はすべての値を意味して、1 は最初の値、2 は 2 番目の値と続きます。

詳細は「インポートのコンセプトを理解する」をご参照ください。

説明

属性マッピングの説明 (念のため用意しました)。

その他の設定

You can access other configuration by selecting the cog icon next to your attribute mapping.

連結子

複数のデータ ロケーターを 1 つの Insight 属性に結合する際は、これが既定の連結子として機能します。

正規表現

正規表現によって、インポート ソースからの値を編集できます。

正規表現には Java 構文 https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html を使用します。正規表現で一致するものが見つからない場合、属性は空のままになります。抽出する内容を正規表現の最初のグループにすることで、データ ロケーターで指定された値から抽出できます。たとえば値「Blue Whale」で正規表現「(\ w*)\ W」(括弧は除く) を使用すると「Blue」が対応する属性に出力されます。グループがなく正規表現にマッチするものがある場合は、値全体が与えられます。

いくつかの例を使用してご説明します。

目的

パターン

入力に 1 桁以上の数字が含まれていることを確認する\d「foo 123 bar」はそのまま返されますが「foo bar」は空の属性値を付与します。
最初の桁を抽出する(\d)「foo 123 bar」は 1 を返しますが「foobar」は空の属性値を付与します。
テキストの最初の単語だけを抽出する(\w*)\W

「Blue whale」が「Blue」になります。

数を短くして小数点以下 2 桁だけ表示する(\d*\.\d\d)12.3456 は 12.34 になります。

次のステップ

マッピングの準備が整ったら「3. インポート設定を検査する」に移動します。

最終更新日: 2022 年 2 月 8 日

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

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