Plugin Development Tutorials, Videos, and More
| 
 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   | 
