Improving Plugin Modernizer

Goal: Improving the Jenkins Plugin Modernizer tool and provide integrations with Jenkins ecosystem

Status: Selected

Team

Details

Abstract

This GSoC project idea is a continuation of the GSoC 2024 Using OpenRewrite Recipes for Plugin Modernization project. The current Plugin Modernizer will need to be enhanced to support more modernization recipes and provide integrations with the Jenkins ecosystem.

Rationale

The Jenkins ecosystem combines a monolithic core with a modular plugin system. True, this design provides a great degree of flexibility and robustness, yet also it poses challenges to propagating large-scale changes throughout the ecosystem. The lack of automation has led to many plugins falling behind with regard to ecosystem-wide migrations. This project proposes the creation of a new tool to apply generic transformations across the Jenkins ecosystem.

Implementation

Improvements and integration could include:

  • Store metadata about the modernization process on Jenkins reports site

  • Provide APIs to access the modernization metadata in addition to the existing CLI module (or even run the modernization recipes as a service)

  • Generate metadata regularly (using Jenkins infrastructure or GitHub Actions depending on the research done during the project)

  • Better integration with the Plugin Health Score to automatically run modernization recipes on plugins with low scores

  • Visualize the modernization metadata on Jenkins statistics site

  • Any recipe improvements or new recipes that could be added to the tool to improve plugins health

  • …​

Office hours

  • (Project-based) Weekly project based office hours: Tuesdays 14:00 UTC (Direct link)

Links