QClaw支持四种流程自定义方法:一、可视化编辑器拖拽配置节点与流转;二、JSON Schema导入/导出实现结构化定义与迁移;三、Groovy脚本嵌入实现动态逻辑;四、事件订阅机制联动外部系统。
如果您希望在qclaw中实现特定业务逻辑或适配组织内部规范,但默认流程无法满足需求,则需要对工作流程进行自定义配置。以下是qclaw平台支持的多种流程定制方法:
一、使用可视化流程编辑器配置节点与流转
QClaw内置图形化流程设计器,允许用户通过拖拽方式定义审批节点、条件分支、自动任务等组件,并设定各节点之间的触发关系与流转规则。
1、登录QClaw管理后台,进入【流程中心】→【流程设计】模块。
2、点击右上角“新建流程”,选择“空白模板”或基于已有流程“复制编辑”。
3、在画布中从左侧工具栏拖入“开始节点”“人工审批节点”“系统自动节点”“结束节点”等基础组件。
4、使用连线工具连接各节点,在连线旁双击设置流转条件(如status == 'approved'或amount > 50000)。
5、为每个审批节点配置处理人规则,支持指定角色、部门、岗位或动态表达式(如assignee = creator.department.manager)。
6、保存后点击“发布”,该流程即刻可用于新发起的业务实例。
二、通过JSON Schema导入/导出流程定义
对于熟悉结构化描述语言的技术人员,QClaw支持以标准JSON Schema格式定义完整流程拓扑及行为约束,便于版本控制、跨环境迁移与自动化部署。
1、在【流程设计】页面点击目标流程右侧的“更多”按钮,选择“导出定义”获取当前流程的JSON Schema文件。
2、使用文本编辑器修改字段:nodes数组调整节点属性,edges数组重定义流转路径,rules对象补充校验逻辑。
3、确保修改后的JSON符合QClaw Schema规范(例如:每个node.id必须唯一,edge.source与edge.target必须存在于nodes中)。
4、返回流程列表页,点击“导入流程”,上传已编辑的JSON文件。
5、系统自动校验语法与语义,通过后显示预览差异,确认无误后执行导入并发布。
三、编写Groovy脚本扩展节点行为
QClaw允许在人工审批节点、自动节点或流转条件中嵌入Groovy脚本,实现动态赋值、外部系统调用、复杂判断等高级能力。
1、在流程编辑器中选中某节点,打开右侧属性面板,展开“高级设置”区域。
2、在“前置脚本”或“后置脚本”输入框内编写Groovy代码,例如:context.setVariable('nextApprover', userService.findApproverByLevel(context.getVariable('level') + 1))。
3、可调用内置对象:context(流程上下文)、userService(用户服务)、http(HTTP客户端)等。
4、点击“测试脚本”按钮,输入模拟变量值验证执行结果与返回类型是否符合预期。
5、保存节点配置,发布流程后脚本随节点生命周期自动执行。
四、基于事件订阅机制触发外部流程联动
QClaw提供标准Webhook与消息队列(如RabbitMQ/Kafka)接入能力,可在流程关键状态变更时(如“已提交”“已驳回”“已完成”)向外部系统推送事件载荷,驱动异构系统协同响应。
1、进入【系统设置】→【事件中心】→【订阅管理】,点击“新建订阅”。
2、选择监听的流程ID与事件类型(如process.instance.status.changed)。
3、配置接收端点:若为HTTP方式,填写目标URL并选择认证方式(Basic / Bearer Token);若为MQ方式,填写Exchange名称、Routing Key及序列化格式(JSON / Avro)。
4、在“载荷映射”区域定义输出字段,例如将流程变量applicantName映射至JSON字段requester。
5、启用订阅并保存,后续对应流程状态变更即实时触发外部调用。










