範例:使用 '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 FeatureDevelop FeatureTest FeatureDocument FeatureRelease Feature 這 5 個卡片新增至清單。
d. 將描述新增至每個卡片,即 Decision CardDevelopment CardTesting CardDocumentation CardRelease 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 任務。
這是否有幫助?