範例:使用 'While' 迴圈
假設您要擷取所有 Trello 卡片的清單,並在 Google Tasks 中為每個卡片建立任務。在此情況下,請使用 While 迴圈,而非建立單獨的工作流程來擷取單一 Trello 卡片,然後在 Google Tasks 中為該卡片建立任務。
針對此範例,您需要執行下列步驟:
工作流程如下圖所示:
步驟 1:將動作新增至畫布,然後建立工作流程
1. 將「迴圈」動作拖曳至畫布。
2. 將
Google Tasks 下的
「建立新任務」動作拖曳至
「迴圈」區塊。此動作會自動連線至
。
3. 將
「建立新任務」動作連線至
。
4. 將 Trello 下的「取得清單卡片」動作拖曳至畫布。
5. 將
連線至
「取得清單卡片」,將
「取得清單卡片」連線至
,並將
連線至
。
步驟 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. 在「選取迴圈類型」清單中,選取 While。
2. 在「初始值」欄位中,對應「取得清單卡片」動作之「卡片」陣列的值。
3. 在「條件」欄位中,輸入 {{$currentItem}}.length > 0。
此條件指定只要卡片數大於 0,就會執行迴圈。在此範例中,有 5 個卡片,因此,條件會評估為 true 5 次。
4. 在「已更新的值」欄位中,輸入下列內置運算式:
let item = $currentItem;
function result(){
return item.slice(1, item.length);
}
result();
步驟 4:配置建立新任務動作
下列步驟提供對於此特定範例而言,您需要在動作表單中指定之值的詳細資訊。如需有關配置此動作的詳細步驟,請參閱
建立新任務。
1. 在 Google Tasks 帳戶中,建立 Release Task List 任務清單。
2. 在 ThingWorx Flow 之「取得清單卡片」動作表單的「任務清單 ID」清單中,選取 Release Task List。
3. 在
「標題」欄位中,按一下
新增下列內置運算式:
function result(){
var x = $a0.currentIndex
return $a1.cards[x].name
}
result()
,其中 a0 是「迴圈」的動作 ID,a1 是「取得清單卡片」的動作 ID。
4. 按一下「顯示其他欄位」。
5. 在
「註記」欄位中,按一下
新增下列內置運算式:
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 任務。