After launching Connectors in the 8.1. release, we have added more and more of them over the past couple of months. Currently, we have 9 different Connectors available out of the box, and the number is still growing. By leveraging the capabilities of our partners, like Infosys and Envite, we are able to grow the number of Connectors for a variety of use cases. These contributions heavily support Camunda’s goal to provide a community-driven marketplace for Connectors in the near future.
This blog post provides insight on how you can contribute a Connector to Camunda’s Community Hub, either as another partner of ours or as a community member.
Therefore, we’ll begin by discussing the contribution before checking on the consumption process. Lastly, we will have a look at frequently asked questions such as test coverage, licensing, and support.
Contributing a Connector
To have a standardized structure for a Connector, we have a recommended template in place. This enables users and other developers to build and run them more easily compared to heterogeneous solutions. Keep in mind the Connector SDK and template is currently only available in Java.
Use this template in a new GitHub repository of yours. This can be located in our own organization or in the Community Hub. Make sure to change some of the included files so they match the name of your Connector before starting to implement it.
Once you have implemented the glue code for your Connector, ensure you write and run some tests before submitting it to the curated list “Awesome Camunda Platform 8 Connectors”. To submit, create a pull request (PR) in the repository and describe your Connector, how to access it, and link its documentation as well as the license type you foresee.
In terms of accessibility, you can either share a published JAR including dependencies, provide a GitHub repository that users have to build or include in their custom Connector runtime themselves, or both. The code of your custom Connector does not necessarily have to be publicly available. We encourage open source development however, for instance by using the MIT license.
Lastly the PR is reviewed by the Camunda Team, and hopefully approved.
How to consume a Connector
To use a contributed custom build Connector, you must run it on your own premises, even when you want to connect it to Camunda’s SaaS platform. There are a few options available:
- Download the JAR with dependencies or build them from code and add the JAR to the classpath when starting the Connector runtime. This starts a Zeebe client, and registers the defined Connector automatically as a job worker.
- Add the JAR to a Docker image, either by URL or by building the project and mounting it. You could also use this technique to set up a
Afterwards, add the Connector template to Web or Desktop Modeler to use it.
Frequently asked questions
As a contributor, you can openly decide how to license your Connector. There is no restriction from Camunda. However as mentioned, we encourage source-available and open source contributions.
Camunda does not provide any reliability. It is up to the contributor to decide whether they want to continue supporting their Connector or not.
Code quality and test coverage
Currently, there are no measures in place to ensure both code quality and test coverage. We recommend relying not only on the template but also on creating some test-cases to ensure the Connector works as expected. This will make it more trustworthy for others and helps when someone wants to adopt your code.
Did we miss anything?
As you might have noticed, the contribution process doesn’t set any major hurdles. We want this to be as easy as possible. Let us know if you have any further questions! In the meantime, feel free to get started developing your own Connector. We are eager to review your PRs!