例: 「各アイテム」ループの使用
すべての Trello カードのリストをフェッチし、Google ToDo リストで各カードのタスクを作成するとします。この場合、1 つの Trello カードをフェッチしてから Google ToDo リストでそのカードのタスクを作成するワークフローを個別に作成する代わりに、「各アイテム」ループを使用します。
この例では、以下の手順を実行する必要があります。
ワークフローは以下の図のようになります。
手順 1: キャンバスへの操作の追加とワークフローの作成
1. 「ループ」操作をキャンバスにドラッグします。
2. 「Google ToDo リスト」の下の
「新規タスクを作成」操作を
「ループ」ブロック上にドラッグします。この操作が
![](../../../../ThingWorx/images/LoopStartIcon.png)
に自動的に接続されます。
3. 「新規タスクを作成」操作を
![](../../../../ThingWorx/images/LoopStopIcon.png)
に接続します。
4. 「Trello」の下の「リストのカードを取得」操作をキャンバスにドラッグします。
5. ![](../../../../ThingWorx/images/StartIcon.png)
を
「リストのカードを取得」に接続し、
「リストのカードを取得」を
![](../../../../ThingWorx/images/LoopStartIcon.png)
に接続し、
![](../../../../ThingWorx/images/LoopStopIcon.png)
を
![](../../../../ThingWorx/images/StopIcon.png)
に接続します。
手順 2: 「リストのカードを取得」操作の設定
次の手順は、この例の操作フォームで指定する必要のある値の詳細を示しています。この操作の詳細な設定手順については、
リストのカードを取得を参照してください。
1. Trello アカウントで、以下の操作を行います。
a. Feature Lists ボードを作成します。
b. このボードに、Release 1 リストを追加します。
c. このリストに、Decide Feature、Develop Feature、Test Feature、Document Feature、Release Feature の 5 つのカードを追加します。
d. 各カードに、Decision Card、Development Card、Testing Card、Documentation Card、Release Card という説明を追加します。
2. ThingWorx Flow で、「リストのカードを取得」操作フォームの「ボード ID」リストから、Feature Lists を選択します。
3. 「リスト ID」リストで、Release 1 を選択します。
手順 3: 「ループ」操作の設定
次の手順は、この例の操作フォームで指定する必要のある値の詳細を示しています。この操作の詳細な設定手順については、
ループを参照してください。
1. 「ループタイプを選択」リストで、「各アイテム」を選択します。
2. 「ソース配列またはオブジェクト」フィールドで、「リストのカードを取得」操作の「カード」配列の値をマッピングします。
手順 4: 「新規タスクを作成」操作の設定
次の手順は、この例の操作フォームで指定する必要のある値の詳細を示しています。この操作の詳細な設定手順については、
新規タスクを作成を参照してください。
1. Google ToDo リストアカウントで、タスクリスト Release Task List を作成します。
2. ThingWorx Flow で、「リストのカードを取得」操作フォームの「タスクリスト ID」リストから、Release Task List を選択します。
3. 「タイトル」フィールドで、
![](../../../../ThingWorx/images/ConsoleIcon.jpg)
をクリックして以下のインライン定義式を追加します。
function result(){
var x = $a0.currentIndex
return $a1.cards[x].name
}
result()
ここで、a0 は「ループ」の操作 ID、a1 は「リストのカードを取得」の操作 ID です。
4. 「追加のフィールドを表示」をクリックします。
5. 「注記」フィールドで、
![](../../../../ThingWorx/images/ConsoleIcon.jpg)
をクリックして以下のインライン定義式を追加します。
function result(){
var y = $a0.currentIndex
return $a1.cards[y].desc
}
result()
ここで、a0 は「ループ」の操作 ID、a1 は「リストのカードを取得」の操作 ID です。
手順 5: ワークフローの実行
「保存」をクリックしてワークフローを保存してから、「実行」をクリックしてワークフローを実行します。
ワークフローの実行中、以下の図に示すように、現在のイテレーション番号とイテレーションの合計数が「ループ」ブロックの上に表示されます。
デバッグパネルの出力に、「ループ」実行の以下のような詳細が表示されます。
「新規タスクを作成」操作のイテレーション 1 が実行されると、Decision Card という説明が付いた Decide Feature タスクが作成され、イテレーション 2 では、Development Card という説明が付いた Develop Feature タスクが作成され、イテレーション 3 では、Testing Card という説明が付いた Test Feature タスクが作成され、イテレーション 4 では、Documentation Card という説明が付いた Document Feature タスクが作成され、イテレーション 5 では、Release Card という説明が付いた Release Feature タスクが作成されます。