EOS Low-Code Platform 8 EOS Low-Code Platform 8
产品简介
学习指南
更新说明
安装与集成
上线指南
初见EOS
低代码开发手册
专业代码开发手册
智能体开发手册
专题场景实战
公共服务框架
应用运行治理
常见问题
  • 脚本调用节点
  • 配置脚本调用节点
  • 基础配置
  • 异常设置
  • 开发语言
  • 使用编辑框编写代码
  • 使用示例
  • 常见问题
  • Q1: 为什么脚本调用节点代码中定义的返回对象在输出中定义未返回?
  • Q2: 脚本调用节点中如何使用 sleep 函数?

# 脚本调用节点

脚本调用节点支持通过编写代码来生成返回值。支持在脚本调用节点内编写自定义代码逻辑,来处理输入参数并返回响应结果。目前仅支持Groovy脚本。

# 配置脚本调用节点

# 基础配置

节点的配置参数说明如下:

配置 说明
输入 声明代码中需要使用的变量。添加输入参数时需要设置参数名和变量值,其中变量值支持设置为固定值或引用上游节点的输出参数。 在代码中引用输入参数时,直接通过变量名取值即可。如变量为对象时可通过变量名.属性名取对象中子属性值。
代码 脚本调用节点中需要执行的代码片段,你可以直接编写。 引用变量:直接使用输入参数中的变量,通过return来输出处理结果。 函数限制:不支持编写多个函数。 支持 Groovy。
输出 代码运行成功后,输出的参数。你可以根据实际需求,在输出结构中只保留必要的参数。 当节点的异常处理方式设置为返回设定内容或执行异常流程时,同时返回 isSuccess、errorBody 参数,用于在节点执行异常时传递详细信息。 确保此处定义的参数名、类型与代码的 return 对象完全一致。以脚本调用节点默认提供的代码为例,输出的参数与代码中定义的 return 对象完全一致。

注意:

  • 节点执行超时:单请求限制 60s。

# 异常设置

默认情况下,节点运行超时、运行异常时,工作流会中断,工作流调试界面或 API 中会返回错误信息。你也可以手动设置节点运行超时等异常情况下的处理方式,例如超时时间、是否重试、是否跳转异常分支等。

异常处理设置 说明
超时时间 超时时间指节点运行的最大耗时,如果超过此时长,则判断为节点运行超时。 默认情况下,节点的超时时间默认为 60s,即 1 分钟。你也可以将其改为 0.1s~60s,灵活控制超时时间。
重试次数 节点运行超时或异常时,默认不重试,你也可以设置为重试 1 次、重试 2 次、重试 3 次。
异常处理方式 节点运行超时或异常时,默认中断工作流。你也可以手动修改此节点的异常处理方式:
中断流程:工作流执行中断,不再运行后续节点。
返回设定内容:发生异常后,工作流运行不会中断。开发者可自定义设置需要返回的输出字段内容,必须是输出中已定义的字段,且格式为合法的 JSON 格式。另外,节点还会返回输出参数 isSuccess、errorBody,传递节点异常的详细信息。
执行异常流程:发生异常后,工作流运行不会中断,转而执行异常流程分析,开发者需要为新增的异常分支配置处理流程。异常信息会通过节点的输出参数 isSuccess、errorBody 返回。

# 开发语言

代码节点支持Groovy语言。

# 使用编辑框编写代码

脚本调用节点提供了脚本编辑环境供你使用,无需考虑代码部署等问题,只要关注代码逻辑即可。

在节点内的代码区域,单击编辑,可通过脚本编辑。

# 使用示例

例如通过脚本编辑代码方式将开始节点输入的学生基本信息组装成新对象信息

image-20260107174243970

节点配置如下:

  • 开始节点

    工作流的起始节点,本示例需要配置输入参数class、name、address,用于获取用户输入。

    image-20260108142842246

  • 脚本调用节点

    用于收集开始环节用户输入变量信息,利用脚本组装成studentObj对象,并定义脚本调用节点输出变量为studentObj。

    该示例中脚本代码里可通过输入参数中定义的变量名获取值。

    1、object对象类型:获取对象中属性值,如classInfo.name 即获取对象classInfo中name值

    2、基本数据类型时,则直接变量名方式获取

    3、数组类型,通过变量名[0]方式获取

    输出变量值定义,则需要根据脚本中返回结果定义,需要返回整个对象时,需要针对对象做包装key 属性名 value值为需返回的对象

    image-20260108143059160

  • 结束节点

    选择返回变量模式,定义 data参数,引用脚本调用节点变量studentObj。

    image-20260108143135379

  • 执行结果如下:

    image-20260107174154873

# 常见问题

# Q1: 为什么脚本调用节点代码中定义的返回对象在输出中定义未返回?

脚本调用节点中,当需要返回整个对象object类型数据时,需要组装一次map结构,key为输出变量中定义的变量名,value值为整个对象结构数据。

# Q2: 脚本调用节点中如何使用 sleep 函数?

脚本调用节点中,使用Thread.sleep()线程睡眠实现当前线程阻塞。

例如以下示例代码表示等待 3 秒:

image-20260107110844967

← 循环 工作流调用 →