Improve a plugin tutorial and blog post

As part of today’s documentation office hours, @dheerajodha and I have agreed that we’ll create a tutorial and blog post on www.jenkins.io to outline some of the steps that can help a new contributor add value to a Jenkins plugin and prepare to adopt the plugin.

The content will be based on the “Contributing to Open Source” workshop that I presented at DevOps World 2021.

The document outlines small but meaningful improvements that can be made to plugins to improve them. The improvements are helpful even if the person submitting the pull requests does not ultimately decide to adopt the plugin.

Some of the steps include:

  • Add a Jenkinsfile
  • Update the parent pom
  • Update base Jenkins version
  • Enable additional spotbugs checks
  • Update the SCM URL
  • Enable dependabot for dependency management
  • Enable incrementals
  • Enable release drafter
  • Migrate documentation to GitHub
  • Improve Pipeline online help and documentation
  • Convert common API dependencies to plugin dependencies

If you have other ideas of steps that would be good to include in that as part of modernizing a Jenkins plugin, please feel free to suggest them.

3 Likes

This will be very helpful. I tried to adopt the docker plugin and was very unsuccessful.

cough setting up github labels and topics via https://plugins-self-service-3ir4b.ondigitalocean.app/ (or without the tool)

Thanks for the reminder about labels and topics. I usually only think of labels in the context of release drafter, but they can be much more helpful than that.

If I understand it correctly, labels and topics can only be applied by maintainers. A person who has not yet adopted a plugin won’t be able to apply labels or topics to the target plugin. I think that may justify placing labels and topics later in the list of modernization changes to consider.

1 Like