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
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 というフォーマットを使用します。
例
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」コネクタの下の
「クエリーを実行」操作をキャンバスにドラッグし、この操作にマウスポインタを合わせて
をクリックするか、この操作をダブルクリックします。「クエリーを実行」操作ウィンドウが開きます。
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 があります。
2. 左下隅にある「シート」タブの横の「+」をクリックすることで、シートをさらに追加します。
3. 任意の名前でテーブルを作成します。たとえば、Table 1 を作成します。このテーブルには、Integrity Lifecycle Manager のクエリーから取得するフィールドと同じ数の列が必要です。この例では、ID、Summary、Project、Priority、Severity、State、Description の 7 つの列を作成します。
4. ループの左右両側に「テーブルに行を追加」操作を接続します。
ThingWorx Flow Excel Online コネクタの「テーブルに行を追加」操作の設定
1. 「Excel Online」コネクタの下の
「テーブルに行を追加」操作をキャンバスにドラッグし、この操作にマウスポインタを合わせて
をクリックするか、この操作をダブルクリックします。「テーブルに行を追加」操作ウィンドウが開きます。
2. 必要に応じて、ラベル名を編集します。デフォルトでは、ラベル名は操作名と同じです。
| 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 で編集後のフィールドが表示されます。最終的なフローを以下の図に示します。