Jump to: navigation, search

Hudson-ci/Extend Hudson

This page is a stub, and in progress.

Developing Plugins

Hudson supports plugins, which allow Hudson to be extended to meet specific needs of individual projects. Read on to learn how to write a plugin.

  • Write your first Hudson Plugin
  • Plugin Architecture
  • Plugin Directory Structure
  • Sample - Writing an SCM plugin
  • Extension points
  • Dependencies among plugins
  • Writing Plugin code
    • Using IntelliJ IDEA plugin
    • Structured Form Submission
    • Making your plugin behave in distributed Hudson
    • Making your plugin behave in secured Hudson
    • Marking a new plugin version as incompatible with older versions
    • Hints for plugin-development newbies
    • Exposing data to the remote API
    • Writing CLI commands
    • Participating to the initialization
  • Writing Plugin UI using Jelly Framework
    • Basic guide to Jelly usage in Hudson
    • Understanding Jelly Tags
    • Figuring out URL binding of Stapler
    • Writing Jelly views with IDE assistance
    • Adding tooltips
    • Writing a foldable section controlled by a checkbox
    • Jelly form controls
    • Jelly and XSS prevention
    • Unique IDs for Repeatable Content
  • Writing unit tests for your plugin
  • Writing UI integration tests for your plugin
  • Understanding Stapler URL mapping rules
  • Tips
    • Debugging native Maven jobs
    • Internationalization
    • Choosing Hudson version to build against
    • Java 5 Compatibility
    • Bundling plugins with Hudson
  • Hosting plugin
  • Releasing Hudson Plugin

Additional references

  • Hudson Javadoc
  • Jelly taglib reference core define