操作节点(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}#