Back to blog

GSoC 2026 Community Bonding Period - Plugin Modernizer Stats Visualization

Pratik Mane
Pratik Mane
May 23, 2026 ⏱︎ 6 min read

Hey everyone! Myself Pratik Mane, a final year student at Vishwakarma Institute of Technology, Pune (India) and currently an intern at Red Hat. It’s been a wonderful experience getting involved with the Jenkins community over the past few weeks and I’m thrilled to be working on this project with an amazing team of mentors.

Jenkins GSoC

About the Project

The Plugin Modernizer Tool automates the modernization of Jenkins plugins using OpenRewrite recipes, creating pull requests with the results. As part of GSoC 2025, a metadata repository was established that stores raw modernization metadata all in JSON/CSV format.

My project, Plugin Modernizer Stats Visualization, aims to build a static visualization site that consumes this raw metadata, consolidates it into a structured format and presents dashboards alongside per-plugin/per-recipe report pages. For a detailed description of the project, please refer to the project page.

Why is This Project Important?

With over 400+ plugins already processed by the Plugin Modernizer Tool and more being added regularly, exploring the modernization results currently requires manually navigating between multiple directories for each plugin. There is no consolidated view or visual interface to understand the overall modernization health at a glance.

This project will help:

  • Plugin maintainers to see at a glance what their plugin needs to be modernized and what recipes have been applied.

  • Plugin modernizer authors to identify which recipes are working well and which need attention or fixes.

  • New contributors to lower the barrier to find plugins that need help, answering the question "where should I start ?"

  • The infra team to measure and communicate the impact of the modernization effort to the broader community.

What I Did in the Community Bonding Period

  • Architecture decisions with the Infra Team: I attended the Jenkins Infrastructure team meeting where we finalized the deployment architecture for the project. The original plan to publish data to reports.jenkins.io was revised instead, we will use GitHub Actions as our ETL pipeline and GitHub Pages to serve the aggregated data. This gives us full autonomy, a shorter feedback loop and no dependency on trusted.ci credentials.

  • Environment setup and prototype refinement: I set up my local development environment and created a small prototype (a temporary static UI that fetches data from the metadata repository and presents dashboards, per-plugin reports and per-recipe detail pages).

  • Community introduction: I drafted and sent an introduction email to the Jenkins Developer Mailing List to introduce the team, explain the project and solicit feedback from the community on what metrics and features would be most valuable.

  • Planning and scheduling: I worked closely with my mentors to refine the project phases, discuss data schema decisions and create a detailed plan for the coding period. We discussed the consolidation script design, the report.json structure and how the UI will consume the data.

  • Studying the ecosystem: I explored the existing jenkins-io-components library to understand which shared UI components (navbar, footer, etc) I can reuse and studied stats.jenkins.io for UI/UX alignment with the Jenkins visual ecosystem.

  • Communication is key: I attended Weekly sync project meetings & gsoc office hours with mentors, org admins and other gsoc contributors. One of the most valuable lessons from this bonding period staying transparent with mentors about decisions, progress and blockers.

What Lies Ahead (Coding Period)

The coding period is structured into five phases:

  • Phase 1 : Data Pipeline (ETL): A GitHub Actions workflow in metadata-plugin-modernizer that validates the raw data, runs a Python consolidation script to produce a single report.json and deploys it via GitHub Pages. This gives the UI a single, stable URL to fetch all aggregated modernization data.

  • Phase 2 : Dashboard (Home Page): Summary stat cards, migration status breakdown (donut chart), top 10 recipe performance (stacked bar), migration timeline trend, tag distribution and recipes with most failures.

  • Phase 3 : Plugin List & Per Plugin Reports: A virtualized, searchable, filterable table of all 400+ plugins with per-plugin detail pages showing migration timelines, recipe breakdowns, PR history and failure details.

  • Phase 4 : Recipe List & Per Recipe Reports: A table of all recipes with success/failure rates and per-recipe detail pages showing application trends and affected plugins.

  • Phase 5 : Stability & Documentation: Comprehensive testing, developer documentation and a final blog post.

The tech stack includes Vite 8 + React 19 + TypeScript, Material UI, Apache ECharts for charts and GitHub Actions + GitHub Pages for CI/CD and hosting.

I am excited to start coding and bring visibility to the amazing modernization work happening across the Jenkins ecosystem!

Acknowledgements

I would like to thank my mentors Valentin Delaye, Kris Stern, Sridhar Sivakumar and Raunak Madan for their guidance, encouragement and time. I would also like to thank the Jenkins Infrastructure team for their help in finalizing the deployment architecture.

This is a continuation of the work started by Sridhar Sivakumar in GSoC 2024 Using OpenRewrite Recipes for Plugin Modernization, improved by Raunak Madan in GSoC 2025 Improving Plugin Modernizer and I am grateful to have them as my mentors for this project.

Special thanks to the Jenkins community for being welcoming and supportive. I look forward to contributing throughout the summer and beyond also…​

About the author

Pratik Mane

Pratik Mane

Pratik is a final year student at Vishwakarma Institute of Technology, Pune (India) and currently an intern at Red Hat. He began his open-source journey with Jenkins in early Hacktoberfest 2025 contributing to Plugin Modernizer Tool. In 2026, he was selected for Google Summer of Code as a contributor to work on the project Plugin Modernizer Stats Visualization. In his free time, he enjoys to watch sci-fi movies & web-series.