Before you start

View the index of available developer guides

Look for similar plugins

We welcome contributions from anyone, but for the benefit of Jenkins users we ask that you look for plugins solving the same or similar problems to see whether you can join forces with existing maintainers. You can find an overview of existing plugins on https://plugins.jenkins.io. Feel free to ask on the jenkinsci-dev mailing list to see whether anyone is aware of another plugin implementing something similar to what you’re planning to do.

Naming Convention

Make sure your plugin follows the naming conventions.

License

All plugins distributed by the Jenkins project need to be free and open source software. This applies to the plugin source code as well as all its dependencies. Make sure to specify the license both in the pom.xml file, as well as a LICENSE file in your repository.

We recommend use of the MIT license which is used for Jenkins core and most plugins and libraries, but any OSI-approved open source license will do.

Documentation

We recommend that plugins include user documentation so users understand quickly what the plugin does and how to use it. We recommend following the documentation-as-code approach and keeping the documentation directly in the plugin repository.

See Documentation for more information.

Signup Required

Jenkins plugins distributed via Jenkins project update sites need to be hosted in the jenkinsci GitHub organization, so you will need a user account on GitHub.

To actually release your plugin, you will need a Jenkins community account that will give you access to the Jira issue tracker and Maven repository.

Even if you choose to track your plugin’s issues on GitHub, you may be assigned security vulnerabilities in your plugin in Jira.