What I Learned Building My First Jenkins Plugin
Blog post from Mergify
Building a Jenkins plugin intended to send Jenkins job events into Mergify CI Insights turned into an unexpectedly enriching journey involving a deep dive into Java, Jenkins internals, and extensive community code review. Initially anticipated as a straightforward weekend task, the project required understanding Jenkins' plugin infrastructure, which, despite its age, proved stable and well-designed, with helpful tooling like Maven and IntelliJ facilitating development. The process of publishing the plugin to the Jenkins community index was particularly enlightening, offering mentorship through detailed human reviews that scrutinized the code for bugs, API usage, and design choices. The experience highlighted the significance of community collaboration and continuous learning, as well as the advantages of AI-assisted programming with tools like GitHub Copilot and Claude. Ultimately, the endeavor underscored the value of embracing the process and infrastructure of older systems, which can offer robust support and unexpected educational opportunities, while also enhancing Jenkins users' ability to integrate job events efficiently into Mergify CI Insights.