Many new contributors may hesitate to contribute to a Jenkins plugin. They may be concerned that the time commitment is too great. They may be worried that they lack the technical skills to maintain a plugin. They may not feel adequate to handle issues related to a Jenkins plugin.
This blog post introduces the "Improve a plugin" developer tutorial for new contributors. The tutorial is a result of the "Contributing to Open Source" workshop (document and slides) that was held at DevOps World 2021.
It includes links to segments of the five part video series, Modernizing Jenkins plugins. Special thanks to Darin Pope for hosting the video series.
Small steps
A series of small steps can help new contributors contribute to Jenkins development, improve a plugin, and develop the confidence to adopt a Jenkins plugin. Each of the steps is valuable even if the new contributor decides that they do not want to adopt the plugin. Each of the steps will assist the maintainers of the plugin.
The steps include:
Add a Jenkinsfile to evaluate the plugin and its pull requests on ci.jenkins.io
Update the parent pom to use the most recent features of the Jenkins plugin build environment
Update base Jenkins version to access the most recent features of Jenkins core
Update the SCM URL to replace a reference to an unsupported git communictions protocol
Enable additional spotbugs checks to improve the static analysis checks of the plugin
Enable dependency management to automate dependency update detection and evaluation
Enable incremental builds to support parallel development of components
Migrate documentation to GitHub to simplify plugin documentation updates
Add a contributing guide to better welcome other contributors to the plugin
Add a link to “Report an Issue” so that users know the correct location to report bugs, enhancements, and security issues
Replace Nonnull and CheckForNull annotations to modernize the spotbugs static analysis