使用 "针对每个节点"

您可以通过多种方式处理已创建,已检索和已更新的项。 一种方法是使用 For each 节点。 此节点将针对已创建,检索或更新的每个项完成操作。

在 App Connect中,要将 For each 节点添加到流中,请单击 (+) ,然后从流编辑器中的 工具箱 选项卡中选择该节点。

图 1。 工具箱中的每个节点
工具箱中的每个节点

以下示例显示如何将 "对于每个节点" 与 "检索" 操作配合使用。 在此示例中,您可以接收具有高优先级的每个 Jira 事件的通知。

图 2。 使用 "对于每个节点和 JSONata" 来处理高优先级凭单流磁贴
使用 "对于每个节点和 JSONata" 来处理高优先级凭单流磁贴

创建流

使用 App Connect 从模板创建流,或者从头开始 (如果要探索创建流所执行的步骤)。

从头开始创建流

您可以从头开始创建流,以了解用于创建流的步骤序列,并随时随地检查节点和字段。

图 3。 模板流
模板流
  1. 登录到 App Connect。
  2. 在设计器仪表板中,单击创建 > 事件驱动流 (或早期版本中的新建 > 事件驱动流
  3. 输入用于标识流用途的名称。
  4. 选择 工具箱 > 调度程序
  5. 更新以下字段:
    • 选择调度类型 设置为 Repeating interval
    • 运行间隔 设置为 1 Minute
    • 选择 首次打开时也运行流
  6. 单击 (+) ,然后选择 Jira 作为第二个应用程序。
  7. 选择 问题 > 检索所有问题
  8. 如果 App Connect 未连接到 Jira 帐户,请单击 连接,然后遵循指示信息以允许 App Connect 连接到 Jira 帐户。
  9. 指定要检索的最大问题数,以及在流找到的问题数超过该数时发生的情况。
    1. 要将限制设置为允许的最大值,请单击 将限制设置为最大值 将限制设置为 "检索" 操作的最大值
    2. 如果流发现的问题数超过指定的最大数目,那么将处理找到的最大项数。
    3. 如果未找到任何项,那么流将停止,并返回 404 错误代码。
  10. 要定义要处理的每条记录的逻辑,请通过单击 添加节点 (+) 来添加 For each 节点,然后单击 工具箱 > For each。 对于本示例,请使用 输入 选项卡上的字段。
  11. 对于已标记为高优先级的每个突发事件,您希望在日志中接收通知。 您可以使用 JSONata 过滤器高阶函数来过滤突发事件,以仅处理具有高优先级的突发事件。 在 选择要处理的项集合中,输入 $filter,然后选择 $filter() 函数。 此过滤器返回仅包含以下数组中的值的数组。
  12. 在数组段中,单击 插入映射 "插入映射" 图标,然后展开 Jira检索所有问题,然后选择 IssueCollection
  13. 在函数段中,输入 function($v, $i, $a)
  14. 现在,如果 strpattern匹配,那么需要使用 JSONata 字符串函数 $contains(str, pattern) 来返回 true 。 在此示例中, High 需要与 fields.priority.name匹配。 输入以下代码 {$contains($v.fields.priority.name, "High")})
    完整的 JSONata 代码如下:
    $filter($JiraRetrieveallissues,function($v, $i, $a){$contains($v.fields.priority.name, "High")})
    图 4: 对于每个节点 JSONata 代码示例
    对于每个节点 JSONata 代码示例
  15. 更新以下字段。
    • 显示名 设置为 Atlassian JIRA Service Desk Issue (Priority="High" or "Highest")
    • 集合处理选项 设置为 Process all items in the collection sequentially
    • 如果在处理项时发生错误 设置为 Process all other items and continue the flow
  16. 在 "对于每个节点" 之后,通过单击 添加节点 (+) ,然后单击 工具箱 > 日志来添加 "日志" 节点。
  17. 更新以下字段。
    • 日志级别 设置为 Info
    • 消息详细信息 设置为 Atlassian JIRA Issue {{$Foreachitem.id}} {{$Foreachitem.fields.priority.name}}

      此属性使用日志中的优先级名称来记录 Atlassian Jira 标识。

      图 5。 定义日志节点代码示例
      定义日志节点代码示例
      以下示例显示了完整流。
      图 6。 完整流程
      模板流
  18. 要测试流,请单击 启动流,然后单击 仪表板 以退出流。

    您的流程显示在 Designer 仪表板上,并且正在侦听您的事件,该事件是用于运行和检索问题的调度程序。

    图 7。 Designer 仪表板上的流磁贴,显示流正在运行并正在侦听事件。
    仪表板上流磁贴的示例

测试流程

片刻后,将在磁贴上显示绿色刻度,以指示流已成功运行。 现在,您可以在日志中查找为每个具有高优先级的 Jira 问题添加的条目。

  1. 打开 "日志" 视图 "日志" 图标

    您可以在配置消息时在日志中查看消息 (Atlassian JIRA Issue [Issue ID] [Priority name])。

    图 8。 记录流的结果
    记录流的结果