private ServiceTaskBuilder addServiceTask( final AbstractFlowNodeBuilder<?, ?> builder, YamlTask task) { final String id = task.getId(); final String taskType = task.getType(); final Integer taskRetries = task.getRetries(); final ServiceTaskBuilder serviceTaskBuilder = builder.serviceTask(id).zeebeTaskType(taskType).zeebeTaskRetries(taskRetries); for (Entry<String, String> header : task.getHeaders().entrySet()) { serviceTaskBuilder.zeebeTaskHeader(header.getKey(), header.getValue()); } addInputOutputMappingToTask(task, serviceTaskBuilder); return serviceTaskBuilder; }
private ServiceTaskBuilder addServiceTask( final AbstractFlowNodeBuilder<?, ?> builder, YamlTask task) { final String id = task.getId(); final String taskType = task.getType(); final Integer taskRetries = task.getRetries(); final ServiceTaskBuilder serviceTaskBuilder = builder.serviceTask(id).zeebeTaskType(taskType).zeebeTaskRetries(taskRetries); for (Entry<String, String> header : task.getHeaders().entrySet()) { serviceTaskBuilder.zeebeTaskHeader(header.getKey(), header.getValue()); } addInputOutputMappingToTask(task, serviceTaskBuilder); return serviceTaskBuilder; }
private long createJob(String jobType, String payload) { return apiRule.partitionClient().createJob(jobType, b -> b.zeebeTaskRetries(3), payload); }
private long createJob(String jobType, String payload) { return apiRule.partitionClient().createJob(jobType, b -> b.zeebeTaskRetries(3), payload); }
public long createJob(final String type, Consumer<ServiceTaskBuilder> consumer, String payload) { deploy( Bpmn.createExecutableProcess("process") .startEvent() .serviceTask( "task", b -> { b.zeebeTaskType(type).zeebeTaskRetries(3); consumer.accept(b); }) .done()); final long workflowInstance = createWorkflowInstance("process", payload); return RecordingExporter.jobRecords(JobIntent.CREATED) .withType(type) .filter(j -> j.getValue().getHeaders().getWorkflowInstanceKey() == workflowInstance) .getFirst() .getKey(); }
public long createJob(final String type, Consumer<ServiceTaskBuilder> consumer, String payload) { deploy( Bpmn.createExecutableProcess("process") .startEvent() .serviceTask( "task", b -> { b.zeebeTaskType(type).zeebeTaskRetries(3); consumer.accept(b); }) .done()); final long workflowInstance = createWorkflowInstance("process", payload); return RecordingExporter.jobRecords(JobIntent.CREATED) .withType(type) .filter(j -> j.getValue().getHeaders().getWorkflowInstanceKey() == workflowInstance) .getFirst() .getKey(); }
@Test public void shouldCreateTaskWhenServiceTaskIsActivated() { // given testClient.deploy( Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .serviceTask("foo", t -> t.zeebeTaskType("bar").zeebeTaskRetries(5)) .endEvent() .done()); // when testClient.createWorkflowInstance(PROCESS_ID); // then final Record<WorkflowInstanceRecordValue> activityActivated = testClient.receiveElementInState("foo", WorkflowInstanceIntent.ELEMENT_ACTIVATED); final Record<JobRecordValue> createJobCmd = testClient.receiveFirstJobCommand(JobIntent.CREATE); assertThat(createJobCmd.getKey()).isEqualTo(ExecuteCommandResponseDecoder.keyNullValue()); assertThat(createJobCmd.getSourceRecordPosition()).isEqualTo(activityActivated.getPosition()); assertJobRecord(createJobCmd); }
@Test public void shouldCreateTaskWhenServiceTaskIsActivated() { // given testClient.deploy( Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .serviceTask("foo", t -> t.zeebeTaskType("bar").zeebeTaskRetries(5)) .endEvent() .done()); // when testClient.createWorkflowInstance(PROCESS_ID); // then final Record<WorkflowInstanceRecordValue> activityActivated = testClient.receiveElementInState("foo", WorkflowInstanceIntent.ELEMENT_ACTIVATED); final Record<JobRecordValue> createJobCmd = testClient.receiveFirstJobCommand(JobIntent.CREATE); assertThat(createJobCmd.getKey()).isEqualTo(ExecuteCommandResponseDecoder.keyNullValue()); assertThat(createJobCmd.getSourceRecordPosition()).isEqualTo(activityActivated.getPosition()); assertJobRecord(createJobCmd); }
private long deployWorkflow(String... taskTypes) { AbstractFlowNodeBuilder<?, ?> builder = Bpmn.createExecutableProcess(PROCESS_ID).startEvent(); for (String taskType : taskTypes) { builder = builder.serviceTask( taskType, b -> b.zeebeTaskType(taskType).zeebeTaskRetries(3).zeebeTaskHeader("model", "true")); } final BpmnModelInstance model = builder.endEvent().done(); return apiRule .createCmdRequest() .partitionId(DEPLOYMENT_PARTITION) .type(ValueType.DEPLOYMENT, DeploymentIntent.CREATE) .command() .put( "resources", Collections.singletonList(deploymentResource(bpmnXml(model), "process.bpmn"))) .done() .sendAndAwait() .getKey(); }
private long deployWorkflow(String... taskTypes) { AbstractFlowNodeBuilder<?, ?> builder = Bpmn.createExecutableProcess(PROCESS_ID).startEvent(); for (String taskType : taskTypes) { builder = builder.serviceTask( taskType, b -> b.zeebeTaskType(taskType).zeebeTaskRetries(3).zeebeTaskHeader("model", "true")); } final BpmnModelInstance model = builder.endEvent().done(); return apiRule .createCmdRequest() .partitionId(DEPLOYMENT_PARTITION) .type(ValueType.DEPLOYMENT, DeploymentIntent.CREATE) .command() .put( "resources", Collections.singletonList(deploymentResource(bpmnXml(model), "process.bpmn"))) .done() .sendAndAwait() .getKey(); }