= Bonita Component
:doctitle: Bonita
:shortname: bonita
:artifactid: camel-bonita
:description: Communicate with a remote Bonita BPM process engine.
:since: 2.19
:supportlevel: Stable
:tabs-sync-option:
:component-header: Only producer is supported
//Manually maintained attributes
:camel-spring-boot-name: bonita

*Since Camel {since}*

*{component-header}*

Used for communicating with a remote Bonita BPM process engine.

== URI format

------------------------------
bonita://[operation]?[options]
------------------------------

Where *operation* is the specific action to perform on Bonita.

// component options: START
include::partial$component-configure-options.adoc[]
include::partial$component-endpoint-options.adoc[]
include::partial$component-endpoint-headers.adoc[]
// component options: END

== Usage

=== Body content

For the startCase operation, the input variables are retrieved from the body message.
This one has to contain a `Map<String,Serializable>`.


== Examples

The following example starts a new case in Bonita:

[source,java]
----------------------------------------------------------------------
from("direct:start").to("bonita:startCase?hostname=localhost&amp;port=8080&amp;processName=TestProcess&amp;username=install&amp;password=install");
----------------------------------------------------------------------

== Dependencies

To use Bonita in your Camel routes, you need to add a dependency on
*camel-bonita*, which implements the component.

If you use Maven, you can add the following to your pom.xml,
substituting the version number for the latest and greatest release (see
the download page for the latest versions).

[source,xml]
-------------------------------------
<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-bonita</artifactId>
  <version>x.x.x</version>
</dependency>
-------------------------------------


include::spring-boot:partial$starter.adoc[]
