进程中的每个步骤都可具有前置条件。此前置条件确定该步骤是否运行。与后处理脚本一样,前置条件使用 JavaScript。
前置条件返回布尔值。如果前置条件返回 true,那么该步骤如常运行。
如果前置条件返回除 True 以外的任何值,那么进程会跳过该步骤。在进程请求中,该步骤将具有“前置条件失败”标签。但是,在这种情况下,进程会继续运行;进程将沿着从该步骤开始的成功链接继续运行,就好像该步骤成功了一样。
前置条件可访问该步骤可访问的属性。例如,应用程序进程可访问以下属性:
- 应用程序属性
- 应用程序进程属性
- 环境属性,包括组件环境属性
- 系统属性
运行进程后,可通过打开进程请求并单击
属性选项卡来查看该进程可访问的属性。
要访问属性,请使用
properties.get() 命令。例如,以下代码检索应用程序属性的值:
properties.get("application/property1")
仅当应用程序属性
property1 存在并且不为空时,以下示例前置条件才允许该步骤运行:
properties.get("application/property1") !== undefined &&
properties.get("application/property1") !== null &&
properties.get("application/property1") !== ""
前置条件脚本可访问进程属性。例如,如果该进程具有名为
processProperty1 的属性,那么可使用以下代码来访问该属性:
properties.get("processProperty1")
组件进程和通用流程中的前置条件脚本可访问先前步骤的输出属性。例如,假定名为
Step1
的步骤的后处理脚本指定名为
OutputProp1 的属性。仅当此属性的值为
value1 时,以下前置条件脚本才允许另一步骤运行:
properties.get("Step1/OutputProp1") == "value1"
前置条件可访问名为
hasFailures 的属性。如果进程中的任何步骤失败,那么此属性为
True。如果没有步骤失败,那么它是未定义的。例如,要在仅当进程中没有其他步骤失败时才运行步骤,请使用以下前置条件:
properties.get('hasFailures') == undefined