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 the latest Java SE Development Kit 8
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 presentingIntro to Plugin Development
atJenkins World in August.
Register with the code |