使用循环步骤

循环步骤允许您在循环中执行一系列步骤。

配置循环步骤

要在工作流中添加一个循环:

  1. 给出循环名称和描述。
  2. 选择要使用的循环类型。
    • “重复”循环遍历有限的项目集合,并为每个项目执行循环。
    • “Repeat Until”循环在特定的时间间隔内按配置的次数执行循环
  3. 配置循环类型详细信息。
    • 对于“重复”循环,选择哪个输入变量包含您想要迭代的数据集。
    • 对于“Repeat Until”循环,首先定义希望循环运行的次数,然后配置“Repeat Delay”,或每次循环执行之间的时间间隔长度。然后根据您提供的长度选择运行的时间单位,以秒、分钟或小时为单位。
  4. 点击保存步骤并输入循环。这将带您到一个新的工作流构建器canvas,只显示循环的步骤。
  5. 添加步骤以迭代迭代,就像添加到主工作流的步骤一样。
    • 在循环中,您的输入变量将包括[<循环名称>]。[$项目]默认情况下。您可以根据需要从工作流的先前步骤中添加更多输入,但是从每个循环迭代访问变量的步骤需要美元的项目默认变量。
  6. 如果需要,添加一个断开的循环步骤,它像一个这样的行动过滤步骤在满足过滤条件时退出循环。如果没有Break Loop Step,循环将继续执行,直到完成“Repeat over”集合的迭代或所需次数的“Repeat until”执行。
  7. 要从循环内部收集数据,以便在循环的后续步骤中使用,请在配置面板的第二页添加loop Outputs。要了解关于设置循环输出的更多信息,请阅读以下部分。

输入循环,配置循环

循环与其他步骤略有不同。

重新进入一个循环并访问其内部步骤,只需单击工作流中的循环图标即可。

配置循环,将鼠标悬停在循环图标上,然后单击编辑(铅笔)图标,或单击循环中的“配置循环”。

访问循环数据

有几种方法可以访问循环数据。

在重复循环中访问项

选择了“Repeat Over”循环类型后,循环中的步骤将针对所选择的输入数组中的每个项运行。

当前数组项循环正在运行,存储在$项变量中以便在循环中使用。要访问当前迭代的数据,请使用[循环名称]。[$项]作为需要当前迭代的数组项的步骤的变量。

重复循环类型

如果您的输入是一个对象数组,并在键中包含额外的数据,则使用[“循环名称”]。[$项目]。[键名]格式访问对象数据。

在将来的步骤中访问循环输出变量

在循环之外,您可以像使用任何步骤变量一样使用循环输出变量。在循环下游的另一个步骤上单击[+],选择循环步骤,并单击输出变量名将其添加到表达式中。

使用断裂输出

使用中断循环步骤时,您可以使用[“循环名称”]以更简单的方式从上次运行迭代中的内容。[$ Item]变量。您只能使用[“循环名称”]。如果使用中断循环步骤退出循环,则在循环之后的步骤中使用[“$ Item”。

定义环路输出

对于所有循环类型,用于稍后使用循环结果的最佳方法是定义循环输出变量。

从循环内部

在循环内定义环路输出

从循环外面

将鼠标悬停在循环步骤图标上,然后单击编辑(铅笔)图标。

定义循环外的循环输出

添加循环输出

一旦你在右边的面板中配置了循环,你可以在面板的第二页添加输出。在循环中必须至少有一个步骤来定义输出。

添加循环输出

单击“添加输出”以设置您可以从此循环访问的数据。

您可以添加最多10个输出变量,让您组合并从每次迭代或运行循环中收集数据。例如,输出变量可能会计算找到匹配的所有迭代,或者将由特定操作生成的输出拉到新阵列中以供以后使用。

这允许您将循环的所有迭代放在一起摘要表单,以便您可以在将来的步骤中轻松使用。

请记住,输出是整个循环,而不是每次运行。即使循环运行多个迭代,每个输出也只记录整个循环的一个最终值。

循环输出类型

有4种类型的循环输出,每一种都提供不同的组合和处理能力。

大批

数组循环输出类型

Array输出类型使输出变量成为一个新的项数组,它可以包括来自循环中的任何数据,并且可以选择性地过滤为匹配指定表达式的循环迭代的项。

  • 包含阵列中的值:输入来自循环迭代的数据的表达式将添加到数组(必填)
  • 仅包括如果...:可选地,您可以输入必须评估为true的表达式,以便在输出阵列中包含条目(可选)

布尔

布尔环路输出类型

布尔输出类型在每个循环迭代中评估一个条件,并确定整个循环的单个布尔(true或false)输出值,如果所有迭代匹配或任何迭代匹配。

  • 输出正确的如果……:在匹配表达式匹配的任何迭代中,选择变量是否为真,或匹配给出的表达式的所有迭代(必需)
  • 匹配的表达式:定义每次迭代匹配的条件(required)

总和循环输出类型

SUM输出类型允许您在循环迭代中添加数字。生成的值将是每个循环迭代的所有值的总和(必填)

  • 添加数字值:选择一个值(必须是数字类型),以便在每次循环迭代时相加。

计数循环输出类型

计数输出类型允许您计算循环的匹配迭代。生成的值将是匹配给定表达式的循环迭代的数量。

  • Count循环运行匹配…:将为每个循环迭代评估的表达式(true或false)。如果表达式为迭代为true,则变量将递增一个。如果它是假的,它不会递增。

示例用例

考虑一个安全过程,用于为用户提供一个构建用户名的组织,该组织在@jdoe for Jane Doe等姓名格式上构建用户名,并为不同需求的同一员工构建额外的别名帐户(如@ jdoe1,@jadoe等))。首先需要检查每个别名是否每个别名都针对配置的用户数据来查找未配置的用户数据,然后在您的首选目录工具中提供别名。

在InsightConnect中,您可以将用户查找放在一个循环中,将Jane Doe的用户名列表作为字符串数组提供给循环。要在名为“CheckUsername”的循环中访问当前迭代的输入数据,您可以使用[" CheckUsername "]。[$item]在输入字段中查找。要在找到未配置的用户名时退出循环,您需要添加一个“Break loop”步骤,条件是当前迭代的查找结果为假”。

在循环的后续步骤中,您可以引用发现的唯一用户名[循环名称]。[项目]美元可变格式。这对于可能为发现的用户名执行别名或执行其他操作的步骤是有用的。

提示:嵌套循环

您可以创建嵌套循环,循环中的循环。在循环工作流构建器Canvas中使用上面列出的相同步骤创建它们。循环变量函数相同,但要小心!这美元的项目循环变量是指该电流循环的数据,因此在创建多个级别嵌套循环时,请仔细管理变量。