Skip to main content

How to Deploy a Process Definition

This guide explains how to deploy a BPMN process definition to ZenBPM.

Prerequisites

  • ZenBPM server is running and accessible
  • A valid BPMN 2.0 process definition file

Steps

1. Prepare Your BPMN File

Ensure your BPMN file follows the BPMN 2.0 specification. You can create BPMN files using tools like:

Save your BPMN file with a .bpmn extension.

2. Deploy Using REST API

You can deploy your process definition using the REST API:

Deploy a new process definition

Request Body schema: application/xml
required
string <xml>

Responses

Response samples

Content type
application/json
{
  • "processDefinitionKey": "string"
}

The response will include a processDefinitionKey that you can use to reference this process definition.

3. Verify Deployment

To verify that your process definition was deployed successfully, you can list all process definitions:

Get list of process definitions

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "offset": 0,
  • "size": 0,
  • "count": 0
}

Look for your process definition in the response.

ProcessDefinitionSimple Schema

This schema represents an item in the process definitions list:

key
required
string
version
required
integer
bpmnProcessId
required
string

4. Get Process Definition Details

Once you have deployed your process definition, you can retrieve its details using the process definition key:

Get process definition

path Parameters
processDefinitionKey
required
string

Responses

Response samples

Content type
application/json
{
  • "key": "string",
  • "version": 0,
  • "bpmnProcessId": "string",
  • "bpmnData": "string"
}

Troubleshooting

Invalid BPMN Format

If you receive an error about invalid BPMN format, check that:

  • Your BPMN file is valid XML
  • The BPMN file follows the BPMN 2.0 specification
  • All referenced elements (like message definitions) are properly defined

Connection Issues

If you can't connect to the ZenBPM server:

  1. Verify the server is running
  2. Check that you're using the correct host and port
  3. Ensure there are no network issues or firewalls blocking the connection

Next Steps

After deploying your process definition, you can: