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

お困りですか?

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

コミュニティに質問

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

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

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

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

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

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

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

セレクター

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

データ ソースを AQL でフィルター

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

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

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

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

足りないオブジェクト

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

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

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

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

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

しきい値タイプ

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

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

しきい値番号

上記アクションを実行するまでの日数または同期回数。最初の同期以降に欠落しているオブジェクトを削除する場合は、[しきい値番号] を 0 に設定します。

空の値

データ ロケーターが空の場合の処理を定義します。インポート時に属性値を削除するか、無視して現在の値をそのままに保持します。

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

アセットでデータ ロケーターが不明な場合の対処方法を定義しています。これは、"ステータス" や "選択" などの属性タイプで発生する場合があります。値はオプションとして追加することも、単に無視することもできます。

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

識別子の照合

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

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

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

識別子

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

たとえば、アセット属性の「名」と「姓」の 2 つのインポート属性が設定され、識別子として指定されている場合は、次の AQL を使用してアセット内のオブジェクトを識別します。

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

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

CSV ファイルからアセットにオブジェクトをインポートする場合は、名前やキーではなく、ラベルとして割り当てられた属性でオブジェクトを識別する必要があります。オブジェクト キーは、オブジェクトが手動またはインポートによって作成されたときに自動的に生成されます。オブジェクト キーがソース ファイル (CSV や JSON など) にあっても、特にオブジェクト キーが識別子である場合は、ソース ファイル内のオブジェクトを使用するのではなく、新しいオブジェクトとそのキーが生成されます。その結果、複数の重複が発生する可能性があります。

Data locator

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

アセット属性

データ ロケーターをマッピングして、そのデータをインポートするアセット属性です。

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

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

この場合は、データ ロケーターから提供されたデータに応じて、設定するオブジェクトを取得するための AQL を提供する必要があります。次の例では、名前は参照されるオブジェクトの "名前" という属性に含まれるアセット内の値への参照です

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

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

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

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

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

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

説明

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

その他の設定

属性マッピングの横にある歯車アイコンを選択することによって、他の構成にアクセスできます。

連結子

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

正規表現

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

正規表現には 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 年 10 月 7 日

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

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