Before you start

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 or public-domain-equivalent license or public domain dedication will do.

Library plugins, which exist only to wrap some third-party library to implement dynamic linking, may be licensed under either the MIT license or the license of the library being wrapped. When these library plugins deliver nontrivial Jenkins-specific production code, the MIT license is appropriate; however, when the only Jenkins-specific code is in build and test logic, we prefer the license of the library being wrapped for simplicity and consistency.

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.

You should receive a welcome email confirming your Jenkins community account was created successfully. If you do not receive any email, please open a ticket on the Jenkins Infrastructure Help Desk.

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