使用 ArcGIS Arcade 表达式在整个工作流中动态填充输入值。 例如,您可以使用 Arcade 表达式根据步骤的结果将步骤分配给特定用户或群组,或发送包含作业特定信息的通知电子邮件。 还可以将运行 GP 服务步骤配置为使用 JobLocation Arcade 表达式作为输入参数,以在运行步骤时替换为作业位置的范围。 每个支持 Arcade 表达式的输入值都将显示此输入支持 Arcade 表达式 快捷菜单,其中包含可添加至其关联文本框的表达式列表。
使用嵌套 Arcade 表达式可以修改其他表达式的输出。 例如,使用以下文本和日期函数将 JobDueDate 表达式的输出从新纪元时间转换为更具可读性的日期格式:
Text(Date(JobDueDate($Job)), 'dddd, MMMM D, Y')
要将纯文本与 Arcade 表达式相结合,请将文本格式设置如下:
'Plain text' + ArcadeExpression() + 'plain text'
下表概述了不同类别的 Workflow Manager 特定 Arcade 表达式:
类别 | 描述 |
---|---|
调用 ArcGIS Workflow Manager 托管的作业信息。 | |
从扩展属性表调用自定义作业特定信息。 | |
调用作业数据源和版本信息。 | |
调用作业位置信息。 | |
调用用户定义设置。 | |
调用输出值和过去步骤分配信息。 |
ArcGIS Developer 站点中提供了 Arcade 函数和全局变量的完整列表。 此输入支持 Arcade 表达式 快捷菜单中包含 Arcade 函数索引列表中的以下表达式:
名称 | Arcade 表达式 | 描述 |
---|---|---|
当前门户 | $currentPortal | 返回当前活动门户。 |
当前用户详细信息 | var u = GetUser($currentPortal); return u['<key 1>'] + u['<key 2>'] | 返回当前用户的属性。 |
当前用户电子邮件 | GetUser($currentPortal)['email'] | 返回当前用户的电子邮件地址。 |
当前用户 ID | GetUser($currentPortal)['id'] | 返回当前用户的 ID。 |
当前用户名 | $currentUser | 返回当前用户的用户名。 |
获取用户详细信息 | var u = GetUser($currentPortal, '<username>'); return u['<key1>'] + u['<key2>'] | 返回指定用户的属性。 |
获取用户电子邮件 | GetUser($currentPortal, '<username>')['email'] | 返回指定用户的电子邮件地址。 |
获取用户名 | GetUser($currentPortal, '<username>')['username'] | 返回指定用户的用户名。 |
用户群组 | userGroups($currentUser) | 返回当前用户的 ArcGIS 组织群组 ID。 |