Skip to content
Zeebe worker to manage manual/user tasks
Branch: master
Clone or download
Latest commit 84c04de Mar 14, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci chore(ci): fix job.dsl Mar 14, 2019
docs update README Feb 17, 2019
src feat(app): user-group management Mar 14, 2019
.gitignore init Feb 13, 2019
CODE_OF_CONDUCT.md init Feb 13, 2019
LICENSE init Feb 13, 2019
README.md feat(app): user-group management Mar 14, 2019
pom.xml [maven-release-plugin] prepare for next development iteration Mar 14, 2019

README.md

Zeebe Simple Tasklist

A Zeebe worker to manage manual/user tasks in a workflow. It shows all jobs of type user as a task/todo-list. A user can complete the tasks with requested data.

This application can be used in development or as a blueprint for your own task-list. It is not designed to be used in production.

Usage

  • the worker is registered for jobs of type user
  • optional custom headers:
    • name (String) - the name of the task (default: the element id)
    • description (String) - a description what is the task about
    • taskForm (HTML) - the form to show and provide the task data (example task form)
    • formFields (JSON) - the form fields for the default task form, if no task form is set
    • assignee (String) - the name of the user which should be assigned to the task
    • candidateGroup (String) - the name of the group which can claim the task
  • optional variables/payload:
    • assignee (String) - the name of the user which should be assigned to the task, if not set as header
    • candidateGroup (String) - the name of the group which can claim the task, if not set as header

Default Task Form

If no taskForm is defined then the default task form is used. It takes the formFields and renders a form with all defined fields. The fields are defined as JSON list, for example:

[{
    \"key\":\"orderId\", 
    \"label\":\"Order Id\", 
    \"type\":\"string\"
  }, {
    \"key\":\"price\", 
    \"label\":\"Price\", 
    \"type\":\"number\"
  }
]`)

The type must be one of: string, number, boolean.

Example Service Task

<bpmn:serviceTask id="userTask" name="User Task">
  <bpmn:extensionElements>
    <zeebe:taskDefinition type="user" />
    <zeebe:taskHeaders>
      <zeebe:header key="name" value="My User Task" />
      <zeebe:header key="description" value="My first user task with a form field." />
      <zeebe:header key="formFields" value="[{\"key\":\"orderId\", \"label\":\"Order Id\", \"type\":\"string\"}]" />
      <zeebe:header key="assignee" value="demo" />
    </zeebe:taskHeaders>
  </bpmn:extensionElements>
</bpmn:serviceTask>

How to run

  1. Download the JAR file from the download page.

    Or build it with Maven

    mvn clean install

  2. Execute the JAR file via

    java -jar target/zeebe-simple-tasklist-{VERSION}.jar

  3. Go to http://localhost:8081

  4. Login with demo/demo

How to configure

The configuration can be changes via application.properties, application.yaml or command line arguments.

# Connection to Zeebe broker
io.zeebe.tasklist.connectionString=localhost:26500

# Path to the default task form  
io.zeebe.tasklist.defaultTaskForm=/my-default-task-form.html

# Admin user
io.zeebe.tasklist.adminUsername=demo
io.zeebe.tasklist.adminPassword=demo

# Database settings
spring.datasource.url=jdbc:h2:~/zeebe-tasklist
spring.datasource.user=sa
spring.datasource.password=

spring.jpa.hibernate.ddl-auto=update

# Server settings
server.port = 8081

Screenshots

Default Task Form

screenshot

Custom Task Form

screenshot

Code of Conduct

This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to code-of-conduct@zeebe.io.

License

Apache License, Version 2.0

You can’t perform that action at this time.