Skip to content

OpenRewrite recipes to continuously modernize Jenkins plugins.

License

Notifications You must be signed in to change notification settings

openrewrite/rewrite-jenkins

Repository files navigation

Logo

Modernize Jenkins plugins. Automatically.

ci Maven Central Revved up by Develocity Contributing Guide

What is this?

This project contains a series of Rewrite recipes and visitors to automatically upgrade and migrate Jenkins plugins.

Jenkins is a fast-moving project that recommends plugins update quarterly. As Jenkins evolves, functionality is regularly factored out from core into plugins. Implicit dependencies are added to plugins based on the version of Jenkins they depend on to retain backwards compatibility. By regularly marching plugins forward, we can drop these dependencies when unnecessary, making our deployments smaller and simpler.

Additionally, depending on newer versions of Jenkins allows our builds to pick up deprecations. These deprecations can often be migrated with new OpenRewrite recipes. Proactively handling deprecations in the plugins we depend on allows us to avoid runtime issues if and when the deprecated code is removed.

Quick start

Running Rewrite on a Maven project without modifying the build is very helpful for getting started. To run the org.openrewrite.jenkins.github.AddTeamToCodeowners recipe:

$ mvn -U org.openrewrite.maven:rewrite-maven-plugin:run \
      -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-jenkins:RELEASE \
      -Drewrite.activeRecipes=org.openrewrite.jenkins.github.AddTeamToCodeowners

How to use?

See the full documentation at docs.openrewrite.org.

Contributing

We appreciate all types of contributions. See the contributing guide for detailed instructions on how to get started.