Child pages
  • Beginners Guide to Contributing

Due to some maintenance issues, this service has been switched in read-only mode, you can find more information about the why

and how to migrate your plugin documentation in this blogpost

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »


You seem to like this Jenkins thing well enough, but you'd like to contribute back to the project, help improve things, etc. This document is intended to help introduce you to the Jenkins project, help you find something that you're interested in helping out with.

For all contributors

  • A great introduction to the Jenkins project is our Governance Document which should help give you an idea of how the project is structured, our beliefs, goals, etc.
  • Join us on the IRC Channel (#jenkins on, great for instant feedback on ideas, questions, etc.
  • Create a Jenkins user account for our bug tracker/wiki/etc on this page.
  • Participate in our (usually) bi-weekly project meetings on IRC, see our Governance Meeting Agenda page for more details.

Are you interested in writing code?


  • Create an account on GitHub and follow the Jenkins repositories that are interesting to you:

How about Java code?

In core
  • Fork the main Jenkins repo on GitHub and get the "core" building on your local machine. The Building Jenkins page should help get you started.
  • Participate in the "UI Enhancements" project by experimenting with the Jenkins UI, or providing feedback to existing experiments (this may or may not be a great beginner project from a code standpoint).
In plugins
  • Pick up an old enhancement or bug report from the issue tracker
  • Start writing your own plugin, following our Plugin tutorial
  • Adopt a plugin which doesn't seem to have a maintainer (list in JIRA). Make sure you read this section on the subject from our Governance Document.
  • Write an automatic tool installer to auto-install a piece of software you find useful (such as the existing mongodb auto-installer). The Adding tool auto-installer page should help get you started.

How about Ruby code?

How about Puppet?

  • Participating in the management of the Jenkins project itself via the infra-puppet project on GitHub.
    • Help write rspec-puppet tests for existing modules, or some other kind of testing that can help automate testing of manifests/modules
  • Contributing fixes, extensions to the puppet-jenkins module that ~rtyler wrote.

Do you speak languages other than English?

  • Contribute localizations to your native tongue via the Internationalization project.
  • Help verify and/or proof-read existing translations

Are you not interested in writing code?


  • Learn more about Jenkins itself
  • Use it! Some of the best ideas come out of putting Jenkins to use in your existing workflow
  • Keep notes of what felt over-complicated, weird or otherwise confusing when getting started. For bonus points, file enhancement requests in JIRA so we can get these pain-points fixed.

Like talking to people about technology?

  • Give a talk about Jenkins at a local JUG or other group about using Jenkins (the fledgling Jenkins CIA Program may be of interest as well)
  • Organize a meetup of local Jenkins users, future users and developers
Help other newbies

Like writing or documenting things?

  • Share your solutions for "common" problems that you have faced. Blog posts/case studies/write-ups of Jenkins usage in a particular environment, with specific plugins that were used to solve a problem are very useful (check out the Meet Jenkins page for ideas).
  • Help tidy up or modernize older wiki pages that are aimed at helping new comers, such as those linked from the "Use Jenkins" page.
  • For some technology X, talk/publish/post about "Jenkins + X" and how to make the two work together

Like packaging software?

  • Pick your favorite platform and contribute a new packaging script, or help maintain the existing scripts

Like breaking/testing software?

  • Learn about JIRA and help triage or otherwise verify existing bug reports.
    • For JIRAs without reproduction steps, helping to nail down the exact steps and environment needed to reproduce the bug can help developers tremendously
    • For JIRAs with reproduction steps, verifying that the bug is fixed when a developer submits a patch can also be very helpful.
  • Test upcoming release candidates of Jenkins itself via the RC channel. It may also be worth familiarizing yourself with the Release Process
  • Help verify and test the LTS (Long Term Support) release candidates before they're finalized, more details can be found on the LTS RC Testing page.
  • No labels