Optimize Plugin System

Optimize allows you adapt the behavior of Optimize, e.g. to decide which kind of data should be analyzed and to tackle technical issues.

Have a look at the Optimize Examples Repository to see some use cases for the plugin system and how plugins can be implemented and used.

Setup your environment

First, add the Optimize plugin to your project via maven:

<dependency>
  <groupId>org.camunda.optimize</groupId>
  <artifactId>plugin</artifactId>
  <version>2.3.0</version>
</dependency>

To tell maven where to find the plugin environment, add the following repository to your project:

<repositories>
  <repository>
    <id>camunda-bpm-nexus</id>
    <name>camunda-bpm-nexus</name>
    <url>
      https://app.camunda.com/nexus/content/repositories/camunda-optimize
    </url>
  </repository>
</repositories>

Please note: to make this work, you need to add your nexus credentials and the server to your settings.xml.

Debug your plugin

To start optimize in debug mode, just execute the optimize start with a debug parameter.

On Unix systems this could look like the following

  • for the demo distribution:
./optimize-demo.sh debug
  • for the production distribution:
./optimize-startup.sh debug

On a Windows system this could look like the following

  • for the demo distribution:
.\optimize-demo.bat debug
  • for the production distribution:
.\optimize-startup.bat debug

By default this will open up a debug port on 9999. Once you have set this up, you need to open the project where you implemented the plugin in your favorite IDE. Then connect to the debug port:

To change the default debug port, have a look into the optimize-startup.sh on Linux and optimize-startup.bat on Windows system. There you should find a variable called DEBUG_PORT, where you can customize the port.