Dear Jenkins Community,
Hey everyone, my name is Raunak Madan, I am contributing to the project named “Improving Plugin Modernizer” for GSoC 2025.
Current Plugin Modernizer Tool:
Plugin Modernizer is a generic CLI tool designed to automate the modernization of Jenkins plugins to keep them updated. It utilizes OpenRewrite recipes to apply transformations to the plugin, validating the applied transformations and creating pull requests with the results. The CLI is also used to collect metadata from Jenkins plugins, such as Jenkins version, parent POM, BOM version, JDK used for building the plugin, etc.
Why is This Tool Important?
With over 2000+ plugins in Jenkins, keeping them updated manually is a daunting task. The Plugin Modernizer Tool automates much of this work, ensuring:
Plugins stay up to date with modern Jenkins practices.
Compatibility with the latest Java and Jenkins versions.
Reduced technical debt for plugin maintainers.
Improving the Plugin Modernizer Tool:
Store metadata about the modernization process on the Jenkins reports site or on an open-source repository for now.
Making REST API endpoints to access the modernization metadata.
Automate Running Recipes on Plugins with Low Health Scores.
Visualizing the metadata on the Jenkins Statistics Site.
Implementing more recipes that help in the modernization of plugins.
By storing the modernization metadata like “what recipes have been applied to a plugin, was the modernization successful, what changes have been made, etc” to a remote storage and providing APIs to access the metadata will help to get modernization insights and helps to measure the impact of this tool in the Jenkins ecosystem.
By automating running recipes based on low health scores would save time when running the same transformations manually using the tool as the tool would automatically be able to detect which recipe to run on a plugin according to its corresponding failing probes.
Last but not the least we would be visualizing the modernization metadata on Jenkins Statistics Site that will display:
Total Modernized Plugins count
Failing Recipes for each plugin
Most Applied OpenRewrite Recipes
Estimated Technical Debt Reduction
I would be grateful for any insights or feedback from the community regarding the tool.
Thank You for your time and consideration. Let’s create an impact together.
Best Regards,
Raunak Madan
GSoC ‘25 Jenkins Contributor