Adopt a Plugin

We’re looking for new maintainers of existing plugins!

This page addresses cases when there is no active maintainer of a plugin:

  • Adopting plugins marked for adoption. Plugin maintainers can mark plugins for adoption if they do not plan to maintain their plugins anymore. In such case we have a low-barrier process for taking over plugins.

  • Adopting abandoned plugins. Sometimes plugin maintainers move on without marking plugins for adoption, due to various reasons. In such case we can transfer ownership for plugins being hosted within the jenkinsci GitHub organization. Such transfer may take a while.

Requesting commit access

Email the Jenkins Developers mailing list and request to be made a maintainer (which usually means commit access to the plugin repository and being made default assignee for newly reported issues in JIRA). Please provide the following things in the request:

  • Link to a plugin you want to adopt

  • Link(s) to pull requests you want to deliver, if applicable

  • Your GitHub username/id (e.g. oleg-nenashev for https://github.com/oleg-nenashev/)

  • Your Jenkins infrastructure account id. Create your account if you don’t have one.

For abandoned plugins, you are expected to try and reach out to existing maintainer(s) using a best effort. The typical way to do that is to ping in GitHub and to add her/his/their email addresses in CC (hint: Git commits should have this information). We typically wait for about 2 weeks in normal work periods before proceeding, so please be patient. Hence, if you can prove the existing maintainer already agrees and you explicitly asked about taking over (e.g. in a PR discussion), the process can be faster.

Once granted access, you can file a pull request against Repository Permission updater to be able to deploy snapshots and releases for your plugin. You’re generally expected to start slowly, by filing PRs, and not commit directly. Even more for plugins with a big number of installations for obvious reasons.

FAQ

A plugin I’m (planning on) using shows up as looking for a maintainer. Does that mean I shouldn’t use it?

No. Jenkins is designed with backward compatibility in mind, so it’s rare that a plugin stops working. And even then there’s often someone who can fix the bug and release a new version even if they wouldn’t be considered a maintainer of the plugin. So if you’re happy with what a plugin is offering, there’s no reason not to use it just because it’s up for adoption.

I want to help! How can I find a plugin to maintain?

Check out the list of plugins up for adoption at the bottom of this page. If you see a plugin you like, visit its wiki page as it may contain additional information about the adoption request.

I know which plugin I want to help with, what should I do now?

Once you’ve chosen a plugin, review the documentation on plugin maintainership in the Jenkins project. This is especially important if you’re not currently a plugin developer.

First, make sure the plugin is not being actively maintained. Even in actively maintained plugins, there may be periods of lower developer activity. Don’t misinterpret failures to respond to questions or requests as the plugin being unmaintained!

As a new maintainer of a new plugin, you’ll inherit its existing users, so be careful with breaking changes. We value data compatibility highly, so any new releases should remain compatible with previous data and upgrade smoothly. If you need help with this, don’t hesitate to ask other Jenkins developers for help. And if all else fails, you can mark a new version as being incompatible with older releases to warn users before they update.

How can I mark a plugin for adoption?

Before marking a plugin for adoption, we recommend to announce the incoming change in the Jenkins Developer Mailing list or in other appropriate channels. It may help you to find new maintainers and, ideally, to establish a transition and knowledge transfer process.

  1. Add the adopt-this-plugin label to the plugin. It can be done in 2 ways:

    • Put an adopt-this-plugin topic in the plugin’s GitHub repository. If you have multiple plugins inside a single repository, it will apply to all of them

    • Add an adopt-this-plugin label to the plugin entry in the Update Center’s label-definitions.properties file

  2. Optional: If you want to explain why you’re marking that plugin as up for adoption, add a section to the plugin’s documentation. You can also document your vision for the plugin there so that new maintainers can take it into account.

I’m a plugin maintainer and my plugin shows as up for adoption, why?

This status is based on the adopt-this-plugin or jenkins-adopt-this-plugin label in the update center. Such labels can come from the topics in the plugin’s GitHub repository or from the Update Center’s label-definitions.properties file. If you remove these topics/labels, the adoption notice will disappear after the repo synchronization.

Which plugins are currently up for adoption?

See the list of plugin pages with the adopt-this-plugin label.

References