Jenkins Developer Reference

View the index of available developer guides

  1. Architecture  
    1. Model  
    2. Web Framework
    3. Extensions  
    4. Remoting  
    5. Security  
  2. Initialization and Startup  
    1. Embedded Winstone and executable-war  
  3. Extensibility  

    About Jenkins' internal extension functionality, modules, and plugins

  4. Model  

    The data model and type hierarchy Jenkins is based on

  5. Handling Requests  

    Explains how Jenkins routes HTTP requests, and what ways to respond exist.

    1. Routing Requests
    2. Web Methods  
    3. Responding to Requests  
  6. Security  
    1. Storing Secrets
  7. Persistence  
  8. Scheduling  

    How Jenkins schedules tasks and how the queue works

  9. Views  
  10. Forms  

    Forms, data binding, and structured form submission

  11. Internationalization and Localization  

    How to internationalize views and messages, and how to localize them.

    1. Internationalizing Messages in Java Source Code
    2. Internationalizing Messages in Jelly Views
    3. Internationalizing Messages in Groovy Views  
    4. Advanced Localization
  12. Distributed Builds  
  13. Jenkins CLI  

    The inner workings of the Jenkins CLI and how to write new commands

  14. Testing  
  15. Plugin development  

    About Jenkins' internal extension functionality, modules, and plugins

    1. Plugin Build Process
    2. Dependencies and Class Loading
  16. Publishing Plugins

    Guide to publishing plugins and related Jenkins project infrastructure

    1. Style Guides
    2. Source Code Hosting
    3. Artifact Repository
    4. Plugin Wiki Pages
    5. Plugin Site  
    6. Continuous Integration
    7. Usage Statistics
  17. Blue Ocean  

    How to develop plugins for Blue Ocean

  18. Building and Debugging  
  19. Setting up a Development Environment  

    Preparing your development environment for Jenkins core and plugin development

  20. Appendix C: Index of All How-To Guides