Build, Test, and Publish Custom Kestra Plugins

For the complete documentation index, see llms.txt. For a full content snapshot, see llms-full.txt. Append .md to any kestra.io/docs/* URL for plain Markdown.

Browse Kestra’s integrations and learn how to create your own plugins.

Build, test, and publish Kestra plugins

Plugins are the building blocks of Kestra’s tasks and triggers. They encompass components interacting with external systems and performing the actual work in your flows.

Kestra comes prepackaged with hundreds of plugins, and you can also develop your own custom plugins.

To integrate with your internal systems and processes, you can build custom plugins. If you think it could be useful to others, consider contributing your plugin to our open-source community.

Set Up for Plugin Development

Set up your development environment for creating Kestra plugins, including Java, IntelliJ IDEA, and Gradle configuration.

Contribution Guidelines

Guidelines for contributing to Kestra plugins. Covers PR rules, code quality, HTTP and JSON conventions, test requirements, and how to add new plugins.

Gradle Configuration

Configure Gradle for Kestra plugin development, including dependencies, mandatory settings, and shadow jar creation.

Develop a Task

Step-by-step guide to developing custom Task plugins for Kestra, including properties, run logic, outputs, and validation.

Develop a Trigger

Learn how to develop custom Trigger plugins for Kestra, including Polling and Realtime triggers.

Develop a Condition

Develop custom Condition plugins for Kestra to control flow execution logic based on specific criteria.

Add Unit Tests

Learn how to write unit tests for your Kestra plugins using JUnit and the Kestra testing framework.

Document Your Kestra Plugin with Annotations

Document your Kestra plugins using annotations and schemas to generate documentation for the UI and website.

Build and Publish a Kestra Plugin

Learn how to build and publish your Kestra plugins to Maven Central using Gradle and GitHub Actions.

Develop a File Renderer

Learn how to implement the FileRenderer interface to add custom file preview support for the Kestra UI Outputs tab.

Develop Plugin Artifacts

Build custom Vue.js UI components for your Kestra plugin using Module Federation and the artifact-sdk.

Was this page helpful?