Integrity Lifecycle Manager
Integrity Lifecycle Manager (ILM) コネクタによって、ThingWorx Flow のワークフローが Integrity Lifecycle Manager 上の操作にアクセスして実行することが可能になります。
前提条件
使用する Integrity Lifecycle Manager のバージョンに応じて、適切な前提条件を設定していることを確認してください。
Integrity Lifecycle Manager 12.1 を使用している場合
1. 次のセットアップとコンフィギュレーションを行います。
Integrity Lifecycle Manager 12.1 サーバー
Integrity Lifecycle Manager REST サービス 12.1
Integrity Lifecycle Manager Requirements and Validation ソリューション
2. 次の Bootstrap API エンドポイントを実行します。
https://<ホスト名>:<ポート>/rws/odata/ptc/ilm/resources/jsongenerators
REST サービスまたは Integrity Lifecycle Manager サービスを再起動するたびに、このエンドポイントを実行する必要があります。
Integrity Lifecycle Manager 12.2 を使用している場合
1. 次のセットアップとコンフィギュレーションを行います。
Integrity Lifecycle Manager 12.2 サーバー
Integrity Lifecycle Manager Requirements and Validation ソリューション
2. <Integrity サーバーのディレクトリ>/data/rws にある ResourcesNameMapping.xml ファイルで、次の target フィールドの source の値を以下に示すように修正します。
Target
Source
Live Item ID
LiveItemID
Major Version ID
MajorVersionID
Minor Version ID
MinorVersionID
タイプ
タイプ
Integrity Lifecycle Manager コネクタの各種操作のフィールド名は、ResourcesNameMapping.xml ファイルの source の値と同じになります。各操作に適切なフィールド名を確認するために、残りの target フィールドの source の値を変更できます。ただし、source の値にスペースが含まれないようにしてください。
3. 次のエンドポイントを実行します。
https://<ホスト名>:<ポート>/rws/odata/ptc/ilm/resources/jsongenerators?updateformapping=true
* 
次の点に注意してください。
ResourcesNameMapping.xml ファイルを更新するたびに、このエンドポイントを実行する必要があります。
サーバーを再起動するたびに、ResourcesNameMapping.xml ファイルが元の状態にリセットされ、修正されたファイルは ResourcesNameMapping.xml.bak という名前のバックアップとして保存されます。
ResourcesNameMapping.xml ファイルを削除し、ResourcesNameMapping.xml.bak ファイルの名前を ResourcesNameMapping.xml に変更して、エンドポイントを再実行します。
ThingWorx Flow で、HTTP ユーティリティの「HTTP リクエスト」操作を使用して、エンドポイントを実行できます。「HTTP リクエスト」操作を使用するには、URL の値を Bootstrap API エンドポイントの URL に設定し、基本認証の追加フィールドで、管理者ユーザーのユーザー名とパスワードを設定します。SSL/TLS を使用するように Integrity Lifecycle Manager が設定されていない場合は、「SSL 証明書の検証」を「偽」に設定し、そうでない場合は「真」に設定します。詳細については、 HTTP リクエストを参照してください。
コネクタのリリースバージョン
Integrity Lifecycle Manager コネクタは 8.4.1 リリースで提供されました。
サポートされている操作
サポートされているトリガー
None
サポートされている承認
Integrity Lifecycle Manager コネクタは以下の承認を必要とします。
「基本」
OAuth
* 
OAuth 接続を追加する前に、 クライアント ID およびクライアントシークレットの取得のステップに従います。
Integrity Lifecycle Manager の承認
Integrity Lifecycle Manager コネクタ操作ごとに Integrity Lifecycle Manager を承認する必要があります。Integrity Lifecycle Manager コネクタを承認するには、次のいずれかの認証スキームを選択します。
「基本」 - 「認証スキームを選択」リストで、「基本」を選択し、以下のステップを実行します。
1. 「新規追加」をクリックし、次の詳細を入力します。
「接続ラベル」 - 自動的に入力されます。任意の接続ラベルを入力できます。
「Integrity Lifecycle Manager REST URL」 - REST URL を入力します (https://<REST サーバーのホスト名>:<REST サーバーのポート番号> など)
ユーザー名とパスワードを入力します。
2. 「追加」をクリックします。
* 
「テスト」をクリックして接続を検証します。
「OAuth」 - 「認証スキームを選択」リストで、「OAuth」を選択し、以下のステップを実行します。
1. 「新規追加」をクリックし、次の詳細を入力します。
「ユーザー名」 - ユーザー名を入力します。
「パスワード」 - パスワードを入力します。
「許可」をクリックし、承認プロセスを完了します。
「承認を追加」ウィンドウで、必要に応じて「承認ラベル」の名前を変更し、https://<REST サーバーのホスト名>:<REST サーバーのポート番号> などのリソース URL を追加します。
2. 「追加」をクリックします。
* 
「テスト」をクリックして接続を検証します。
OData コネクタ操作の使用
OData コネクタの「プロパティを取得」操作を使用して、1 つ以上の Integrity Lifecycle Manager アイテムのコンテンツまたはプロパティを取得できます。フローで「プロパティを取得」操作を使用するには、ベース URL に https://<ホスト名>:<ポート>/rws/odata/ptc/ilm/items/$metadata というフォーマットを使用します。
詳細については、 OData コネクタを参照してください。
ThingWorx Flow を使用して Excel Online 操作と Integrity Lifecycle Manager 操作を統合する方法について見てみましょう。
Excel シートへの Integrity Lifecycle Manager クエリー結果の取り込み
前提条件:
1. 同じエンタープライズアカウントを使用して Excel Online と Integrity Lifecycle Manager にアクセス可能でなければなりません。
2. Integrity Lifecycle Manager でいくつかのクエリーがすでに作成されている必要があります。たとえば、クエリー「アイテム」はすべてのアイテムを返します。カスタムクエリーの作成方法については、PTC サポート Web サイトで Integrity Lifecycle Manager のドキュメンテーションを参照してください。
ステップ:
Integrity Lifecycle Manager の「クエリーを実行」操作の設定
1. 「Integrity Lifecycle Manager」コネクタの下の「クエリーを実行」操作をキャンバスにドラッグし、この操作にマウスポインタを合わせて をクリックするか、この操作をダブルクリックします。「クエリーを実行」操作ウィンドウが開きます。
2. 「クエリーを実行」操作に接続を作成します。接続の作成については、 Integrity Lifecycle Managerコネクタのトピックを参照してください。
3. 以下の情報を入力します。
a. 「クエリー」フィールドで、「アイテム」を選択します。
b. 「並べ替え基準」セクションで、結果を並べ替えるときの基準となる「属性」を選択します。
c. 「順序」で、結果の順序として、昇順または降順を選択します。
d. クエリーの出力に表示される属性を選択します。この例では、「属性を選択」セクションで「追加」をクリックすることで、ID、Summary、Project、Priority、Severity、State、Description の 7 つの属性を追加しています。
4. 「クエリーを実行」操作をキャンバス上の開始アイコン に接続します。
クエリー出力処理のためのループの設定
この例では、ループを使用して、Excel テーブル内にデータを 1 行ずつ書き込みます。ループユーティリティの詳細については、 「ループ」操作を参照してください。
「ループ」操作は「ユーティリティ」タブにあり、サーチボックスで「ループ」をサーチするだけで見つけることができます。「ループ」操作内に操作をドラッグする必要があります。
1. をクリックし、「ループ」ユーティリティの下の「ループ」操作をキャンバスにドラッグします。
2. 「クエリーを実行」操作をループツールに接続します。
3. ループをキャンバス上の開始アイコン に接続します。
4. 「ループタイプを選択」リストで、「Each Item」を選択します。「クエリーを実行」操作の結果内のアイテム数と同じ数だけ「ループ」操作が実行されます。
5. 「ソース配列またはオブジェクト」フィールドで、「結果アイテム」の横の をクリックすることで、「クエリーを実行」操作のトリガーデータから結果アイテムを選択します。
Excel Online コネクタでテーブルを作成しましょう。
1. Microsoft Excel Online Web サイトに移動し、エンタープライズアカウントの資格証明を使用してログインします。ブックを作成します。この例では、DemoTask という名前のブックを作成します。
このブックにはデフォルトのシートであるシート 1 があります。
2. 左下隅にある「シート」タブの横の「+」をクリックすることで、シートをさらに追加します。
3. 任意の名前でテーブルを作成します。たとえば、Table 1 を作成します。このテーブルには、Integrity Lifecycle Manager のクエリーから取得するフィールドと同じ数の列が必要です。この例では、ID、Summary、Project、Priority、Severity、State、Description の 7 つの列を作成します。
4. ループの左右両側に「テーブルに行を追加」操作を接続します。
ThingWorx Flow Excel Online コネクタの「テーブルに行を追加」操作の設定
1. 「Excel Online」コネクタの下の「テーブルに行を追加」操作をキャンバスにドラッグし、この操作にマウスポインタを合わせて をクリックするか、この操作をダブルクリックします。「テーブルに行を追加」操作ウィンドウが開きます。
2. 必要に応じて、ラベル名を編集します。デフォルトでは、ラベル名は操作名と同じです。
3. 承認を追加するには、「Excel Online コネクタ」のトピックの Excel Online の承認のセクションを参照してください。
* 
Excel Online の承認を事前に追加している場合、リストから承認を選択します。
4. 以下の詳細を入力します。
a. 「フォルダ名」 - リストから「Documents」を選択します。
b. 「ブック ID」 - 作成したブックの名前を選択します。この場合は DemoTask です。
c. 「シート ID」 - テーブルが存在するシートの名前を選択します。この場合、テーブルは Sheet 1 にあります。
d. 「テーブル ID/名」 - クエリーの結果を書き込むテーブルの名前。リストからテーブル名を選択します。
e. 「エントリタイプを選択」 - 単一行エントリまたは複数行エントリを選択します。このチュートリアルでは、ループツールで単一行エントリを使用するので、Integrity Lifecycle Manager のクエリーから返されたアイテムの数と同じ回数だけループが実行され、テーブル上に 1 つずつプッシュされます。
「行の値」 - テーブルに取り込む行の値をマッピングします。7 つのフィールドに値を取り込む必要があるので、「行の値」フィールドで 7 つの列を追加します。以下の図に示すように、ID、Summary、Project、Priority、Severity、State、Description をそれぞれ列 1、2、3、4、5、6、7 に追加します。列の順序は、ステップ 1 で Excel シート内に作成したテーブルと同じです。
これらの結果アイテムは配列構造なので、ループが実行されるたびに、ループインデックスの現在の値を挿入する必要があります。このため、以下の図に示すように、ループの現在のインデックスをインデックスに追加します。
右上隅にある実行ボタンをクリックすることでフローを開始します。
結果
フローが完了すると、Excel テーブルにクエリーの結果が取り込まれます。以下の図では、テーブルの 7 つのフィールドすべてに 2 つのアイテムの情報が追加されていることがわかります。
Excel データを使用した Integrity Lifecycle Manager アイテムの編集
前提条件
1. 同じエンタープライズアカウントを使用して Excel Online と Integrity Lifecycle Manager にアクセス可能でなければなりません。
2. Integrity Lifecycle Manager 12.1 サーバー
a. REST Web サービス
b. Integrity Lifecycle Manager Requirements and Validation ソリューション
3. ThingWorx Flow
ステップ:
Excel シートでフィールド値を編集します。
両方のアイテムの「Priority」を「Low」に変更し、「Severity」を「Minor」に変更します。
Excel Online コネクタの「テーブル行を取得」操作の設定:
1. 「Excel Online」コネクタの下の「テーブルに行を追加」操作をキャンバスにドラッグし、この操作にマウスポインタを合わせて をクリックするか、この操作をダブルクリックします。「テーブルに行を追加」操作ウィンドウが開きます。
2. 以下のフィールドに情報を入力します。
a. 「フォルダ名」 - リストから「Documents」を選択します。
b. 「ブック ID」 - 作成したブックの名前をリストから選択します。この場合は DemoTask です。
c. 「シート ID」 - テーブルを作成したシートの名前をリストから選択します。ここではテーブルを Sheet 2 に作成しました。
d. 「テーブル ID」 - クエリーの結果を書き込む、作成したテーブルの名前。リストからテーブル名を選択します。
e. 「フェッチする行」 - テーブルから読み取って Integrity Lifecycle Manager で編集する行の数を入力します。
f. 「スキップする行」 - テーブルの先頭からいくつかの行をスキップできます。スキップする行の値を入力します。
3. 「テーブル行を取得」操作をキャンバス上の開始アイコン に接続します。
設定が完了しました。
クエリー出力処理のための「ループ」操作の設定
「ループ」操作は「ユーティリティ」タブにあり、サーチで「ループ」をサーチするだけで見つけることができます。ループでコネクタを使用するにはループ内にコネクタをドラッグする必要があります。このチュートリアルでは、ループツールを使用して Integrity Lifecycle Manager でアイテムを 1 つずつ編集します。「ソース配列またはオブジェクト」操作で、「テーブル行を取得」の出力である結果アイテムが選択されています。
1. をクリックし、「ループ」ユーティリティの下の「ループ」操作をキャンバスにドラッグします。
2. 「ループタイプを選択」フィールドで、リストから「各アイテム」を選択します。「テーブル行を取得」操作の結果内のアイテム数と同じ数だけループを実行します。
3. 「ソース配列またはオブジェクト」フィールドで、 をクリックすることで、トリガーデータセクションからテーブルの値をマッピングします。
4. 「テーブル行を取得」操作を「ループ」操作に接続します。
5. 「ループ」操作をキャンバス上の出力 に接続します。
「ループ」操作が設定されました。
Integrity Lifecycle Manager の「アイテムを編集」操作の設定
1. 「Integrity Lifecycle Manager」コネクタの下の「アイテムを編集」操作をキャンバスにドラッグし、この操作にマウスポインタを合わせて をクリックするか、この操作をダブルクリックします。「アイテムを編集」操作ウィンドウが開きます。
2. 「エンティティタイプ」フィールドに、編集するアイテムのタイプを入力します。この場合は「アイテム」です。選択後、選択したアイテムのタイプに関連するフィールドが表示されます。
3. テーブルの値から値をマッピングし、現在のインデックスに従ってインデックスを変更します。
4. その他のフィールドはすべて、「テーブル行を取得」操作の下の「テーブルの値」からマッピングされます。
5. 「ループ」操作の右側に「アイテムを編集」操作を接続します。
6. 右上隅にある「実行」ボタンをクリックすることでフローを実行します。フローが完成すると、Integrity Lifecycle Manager で編集後のフィールドが表示されます。最終的なフローを以下の図に示します。