This is a guest post by Mark Waite, who maintains the git plugin, the git client plugin, and is a technical evangelist for CloudBees, Inc. |
While developing the "Intro to Plugin Development" workshop for Jenkins World 2017, I was impressed by the many Jenkins plugin development videos, tutorials, and guides. Here are some of my favorite plugin development topics and links.
Plugin tutorial videos
-
Jenkins Online Meetup Plugin Development Part 1 - Basics - Steven Christou and Jesse Glick
-
Jenkins Online Meetup Plugin Development Part 2 - Web UI - Daniel Beck and Tom Fennelly
-
Writing your third plugin - Justin Ryan
-
Jenkins Hackathon session at TNG Technology Consulting - Kohsuke Kawaguchi
Plugin tutorial pages
-
Tutorial on jenkins.io
-
Install a Java Development kit, for example AdoptOpenJDK 8 or 11
-
Install the latest maven release
-
Install your IDE (I like Netbeans, has the Jenkins/Stapler plugin to make plugin creation as easy as menu:File[New Project > Maven > Jenkins Plugin])
-
More details
Many of the Jenkins plugin development topics have dedicated pages of their own, including user interface, plugin testing, and javadoc.
User interface
-
UI samples plugin (bars, boxes, buttons, lists, notification, and syntax highlighting)
-
Understanding Jelly Tags from the Jenkins wiki
-
Form Validation from the Jenkins wiki
-
Jelly Form Controls from the Jenkins wiki
-
Jelly Tag Library Reference from jenkins.io
-
DataBoundConstructor in Basic Guide to Jelly usage
-
DataBoundSetter in google groups
Testing a plugin
-
Unit test from the Jenkins wiki
-
Jenkins test objects like JenkinsRule and the WithoutJenkins annotation
-
DataBoundConstructor in Basic Guide to Jelly usage
-
DataBoundSetter in google groups
-
Java unit testing tools like Hamcrest and AssertJ (and JenkinsMatchers)
-
Java unit testing rules like TemporaryFolder, Timeout, and DisableOnDebug
-
Java unit testing classes like Assume and Parameterized
-
Java unit testing mock frameworks like mockito and powermock
Custom build steps
-
Adding a custom build step
Actions
-
Jenkins Action and its subtypes
Mark will be presenting
Intro to Plugin Development
at
Jenkins World in August.
Register with the code |