Preparing for Plugin Development

Download and install a JDK

Jenkins is based on Java, so to build Jenkins plugins you need to install a Java Development Kit (JDK). Java 11 is the version we recommend to users, so that’s what we’re using in this tutorial.

You can download and install Java 11 from the Eclipse Temurin website.

Many Linux distributions provide packages for Java for an easier install and upgrade experience. Consult your distribution’s documentation for details. To check if you have Java already installed, run java -version on a command prompt.

Download and install Maven

Jenkins plugins mostly use Maven to build, so that’s what we’re going to use in this tutorial.

Download Maven from Apache Maven website. Make sure to download one of the binary archives (with bin in their name).

Many Linux distributions provide packages for Maven for an easier install and upgrade experience. Consult your distribution’s documentation for details. On macOS, the Homebrew package manager offers Maven packages. Make sure a recent version of Maven 3, ideally 3.8.3 or newer, is provided if you decide to go this route.

Extract Maven, and take note of its location. Then, add the the full path of the bin/ subdirectory extracted (for example, ~/Applications/apache-maven/bin/mvn or C:\Program files\Maven\bin\mvn) to the PATH variable in your OS. (This will let you invoke Maven using mvn).

The rest of the tutorial assumes that Maven is on your PATH, but you can also just type the full path.

To verify that Maven is installed, run the following command:

mvn -version

This command prints some diagnostic output, including the versions of Java and Maven, and which Java installation was found by Maven. It should indicate an 11 version of Java, and list the path to where Java is located. If you don’t see this information, see Troubleshooting.

Setting up a productive environment with your IDE

NetBeans

NetBeans users can use the IDE’s Maven support to open the project directly.

As you navigate through the code, you can tell NetBeans to attach source code JAR files by clicking the "Attach" button that appears in the top of the main content window. This allows you to read the Jenkins core source code as you develop plugins. (Or just select Download Sources on the Dependencies node.)

You are advised to use the NetBeans plugin for Jenkins/Stapler development. This offers many Jenkins-specific features. Most visibly, create a new plugin using New Project » Maven » Jenkins Plugin, and use Run project to test it.

IntelliJ IDEA

IntelliJ users just need to open the project and all should work out of the box.

You are advised to use the IntelliJ IDEA plugin for Stapler, features it provides can be found in it’s documentation.

You can create a new plugin using one of the Jenkins plugin archetypes. Create a new Maven project using Create from archetype and Add an Archetype. Select the GroupId and ArtifactId as above, and choose RELEASE as version. On the next screen, select io.jenkins.plugins as groupID and choose an artifactId (Project name) and Version to your liking. This will automatically create a maven project based on the specified artifact (for example, empty-plugin).

Eclipse

Open the project as an existing Maven Project.

Troubleshooting

Anything not working for you? Ask for help on our community forum community.jenkins.io or on the jenkinsci-dev mailing list.

References