Camunda脚本任务可用在ServiceTask和线上,支持内部脚本Inline script和外部脚本External resource,支持JavaScript、groovy、Jython等常用脚本语言。
Activiti和Flowable不支持外部脚本,也不支持在线上指定脚本。
线上的脚步返回值条件必须是boolean。
脚本返回值赋值给Result variable。
var result1 = execution.getVariable("result1");
result1 - 1;
repositoryService.createDeployment()
.name("ScriptTask流程")
.addClasspathResource("bpmn/diagram_5.bpmn")
.deploy();
identityService.setAuthenticatedUserId("huihui");
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("ScriptTaskProcess");
Task task = taskService.createTaskQuery()
.processInstanceId(processInstance.getId())
.singleResult();
Map<String,Object> variables = new HashMap<>();
variables.put("days", 10);
taskService.complete(task.getId(), variables);