Jenkins : How to File a Patch

Read this for general principles of good bug reporting:

  1. Search the issue tracker to see if your bug has already been reported.
  2. Sign up for a User Account on Jenkins.
  3. Get a build of Jenkins going.
  4. Make a test case next to the other test cases for the same component. There are two types of Jenkins test cases: a vanilla junit test, and a subclass of HudsonTestCase. (The javadoc for HudsonTestCase is not available online.) If you can write the test as a vanilla junit test, do so; there is far less overhead to setting up a junit test than a HudsonTestCase. If no test class for the class you're testing exists yet, make one. For instance, there is not currently a vanilla test for hudson.model.View, although there is a HudsonTestCase subclass, ViewTest, which tests hudson.model.View.
  5. Make your test case fail; that's the whole point here, that you're demonstrating something that fails but should work.
  6. File the bug.
  7. Fix the bug. Try to make a small, focused change.

Preferred patch submission:

  1. Create a new branch in your local git clone.
  2. Commit your changes in that branch.
  3. Push to your fork of Jenkins on
  4. Submit a Pull Request via

Alternate patch submission:

  1. Generate a patch.
  2. Go back to your bug report. Attach the patch to your bug report.
  3. Email a link to your issue to the dev list.