跳到主要内容

操作节点(action)

创建事项、子事项、克隆事项

创建事项时默认放在当前空间(触发事项时的空间),也可以修改到其它空间。

在创建时可以将当前事项的字段值复制给新事项,如下图:

标题:上图使用了表达式,新创建的事项标题就会是一个拼接的字符串,#{item.name}#就是触发事项的标题。

工作量:上图使用了字段复制功能,可将触发事项的工作量复制到新事项中。

编辑事项

即:修改事项的字段值。

上图中三个字段分别使用了:选定值、表达式、字段复制 功能。

转换事项

转换事项用于流转事项状态,如果流转状态时需要填写表达,也可以在自动化中配置,如下图:

发送邮件、发送通知消息

可以选择给指定用户、用户组、用户字段选择的用户、工作流审批相关用户发送邮件、通知。

可以使用表达式获取到事项的字段值,拼接 主题与内容。

发送 web 请求

自动化可用于与外部系统对接:

Http 方法:

  • Get:可使用表达式拼接 url
  • Post:只支持 json 格式,也可以使用表达式拼接 标题 与 内容

系统内请求:

可扩展表达式的取值范围,通常用于实现一些不常见的功能。

节点名称:

一个自动化规则中可以使用多个 web 请求节点 ,每个节点都有名称,后续节点在使用节点的返回值时,需要节点名称区分取值的范围。

如:#{webResponses.automation_1659861768956.body}#

事项链接、删除事项链接

将事项与选择的目标事项进行链接。

链接类型:主动关联,被动关联。主动关联是指当前事项关联到链接事项,被动关联是指链接事项关联到当前事项

事项关联类型:选择需要关联的事项类型

链接事项:触发器事项,iql 事项,使用表达式

相关事项字段汇聚

这是一个自由度比较高的节点,用于将 N 个事项、M 个字段的值,汇聚为一个值。(N,M>=1)

常用于:求和、平均、最大值、最小值等,也可将字符串连接,将多个字段聚合为一个字段等。

汇聚的方式由自定义函数实现,可使用基础的 javascript 代码。(ES6 规范)

**相关事项:**详细见 分支规则/相关事项 章节。

**字段、条件:**事项的过滤条件。

聚合函数**给出一个 js 脚本,**内置参数为事项 List(items),返回一个值,可以返回:字符串、数字、json、数组 等。

上图中的聚合函数为工作量总计:

return items.reduce(
(sum, item) => sum + (item.values.manHour || 0), // manHour 为工作量字段
0,
);

也可以使用面向过程式的编码风格:

var sum = 0;
for (var item of items) {
if (item.values.manHour) {
sum += item.values.manHour;
}
}
return sum;

同样也可以在函数中增加更为复杂的判断条件。

当需要使用触发器或其他表达式时,需要使用内置函数 useExpression 来解释表达式

var sum = 0;
if (useExpression('#{triggerItem.values.needManHour}#')) {
for (var item of items) {
if (item.values.manHour) {
sum += item.values.manHour;
}
}
}

return sum;

节点返回值:

后续节点可以使用表达式获取到聚合后的结果,如:

#{itemCollection.automation_1659861768956.result}#