Hacktoberfest 2018. Contribute to Jenkins!

    Once again October has arrived. That means the regular Hacktoberfest event is back! This year it will be the fifth installment. During this one-month hackathon you can support open-source and earn a limited edition swag.

    On behalf of the Jenkins project, we invite you to participate in Hacktoberfest and to work on the project. We welcome all contributors, regardless of their background and Jenkins experience.

    Hacktoberfest

    Quick start

    1. Sign-up to Hacktoberfest on the event website.

    2. Everything is set, just start creating pull-requests!

    Contributing to Jenkins

    There are many ways to contribute to Jenkins during Hacktoberfest. Generally, any pull requests in GitHub may qualify. You can…​

    • Code - Contribute to the code or automated tests

      • Jenkins project codebase includes dozens of programming languages, mostly Java, Groovy, and JavaScript + Go in Jenkins

      • You can also find components in Ruby/Kotlin, and even native components in C/C++

    • Document - Improve documentation

    • Blog - write blogposts about Jenkins

    • Localize - Localize Jenkins components

    • Design - artwork and UI improvements also count!

    • Organize - Organize a local meetup for Jenkins & Hacktoberfest (see below)

    See the Contribute and Participate page for more information.

    Projects

    The Jenkins project is spread across several organizations on GitHub (jenkinsci, jenkins-x, jenkins-infra). You are welcome contribute to any repository in any of those organizations, however various components in Jenkins have differing review and delivery velocity. Here is a list of Jenkins subprojects with maintainers who have committed to delivering quick reviews to Hackathon participants.

    Project/component Ideas and links

    Jenkins Core

    There is always something to improve in Jenkins core itself. You can address various issues, improve the codebase, and add new features there.

    Contributing, newbie-friendly issues

    Jenkins Website

    Extend and improve Jenkins documentation, add your own blogpost.

    Contributing guidelines

    Jenkins X

    Try out the project and create new demos, extend documentation, and create new builders for your toolchains.

    Contributing guidelines, Quick start, creating custom builders, newbie-friendly issues

    Jenkins Configuration-as-Code Plugin

    Contribute to the fresh new plugin: improve the codebase, add demos and plugin integrations.

    Contributing to JCasC

    Jenkins Evergreen

    Try and improve the recently released Evergreen project - an automatically updating rolling distribution system for Jenkins.

    Quick start, newbie-friendly issues.

    Java 11 support (jep:211[])

    Contribute to Jenkins core and plugins to enable Java 11 in future releases. You can help to create new packaging, new features, testing flows, or cleanup issues Illegal Reflective Access in the code.

    Gitter chat, newbie-friendly issues

    Docker Packaging

    Add new features and improvements to Jenkins Docker packaging: Jenkins controller, Agents, and other components.

    Chinese Localization SIG

    Contribute to the new Website and the Simplified Chinese Localization plugin.

    Jenkins Artwork

    Create new images and logos for Jenkins area meetups, subprojects, and plugins. You can also contribute new graphics to plugins.

    Note that this is not a full list, and the list will be extended depending on the interest from maintainers. You are welcome to contribute to existing Jenkins plugins…​ and even to create new ones.

    Local events

    Hacktoberfest is an online event, but there are many events being organized by open-source communities. You can join one of these events.

    We also encourage Jenkins Area Meetup organizers to run Jenkins-specific events in October (workshops, hackergartens). If you are not a meetup organizer but want to host a meetup, you can reach out to the organizers via meetup.com resources (you can find a JAM here). Check out the Hacktoberfest Event Kit for more info.

    FAQ

    You can find Hacktoberfest FAQ here. Below you can find answer to some Jenkins-specific questions.

    Q: I am new to Jenkins, how do I start?

    If you are new to Jenkins, you could start by fixing some small and well described issues. There are lists of such newbie-friendly issues, see the links in the table above. You can also submit your own issue and propose a fix.

    Q: I want to work on my own plugin, is it fine?

    Yes, it is fine! Any contributions count, your role in a repository does not matter. Just make sure you create pull requests instead of direct pushes (hint: it’s a best practice if you have a CI configured for your repository).

    Q: How to find documentation?

    Jenkins project contains lots of materials about contributing to the project. Here are some links which may help:

    Projects in the table above also have their own documentation to help newcomers.

    Q: How do I get reviews?

    All projects in the list above are monitored by their maintainers, and you will likely get a review within few days. Reviews in other repositories and plugins may take longer. In the case of delays, ping us in the hacktoberfest-help channel in Gitter. Unmerged pull-requests also count in Hacktoberfest, so merge delays won’t block you from getting prizes.

    Q: I am stuck. How do I get help?

    Q: Does Jenkins project send special swag?

    All participants will get swag from Hacktoberfest organizers if they create at least5 pull requests. Jenkins project may also distribute some swag to top contributors, depending on the budget and contributions.

    About the Author
    Oleg Nenashev
    Oleg Nenashev

    Jenkins core maintainer and board member, open source software and open hardware advocate, TOC chair in the Continuous Delivery Foundation. Oleg started using Hudson for Hardware/Embedded projects in 2008 and became an active Jenkins contributor in 2012. Nowadays he maintains [Jenkinsfile Runner](https://github.com/jenkinsci/jenkinsfile-runner/), contributes to several Jenkins SIGs and outreach programs (Google Summer of Code, Hacktoberfest) and organizes Jenkins meetups in Switzerland and Russia. Oleg works on open source programs and [Keptn](https://keptn.sh/) at the [Dynatrace](https://dynatrace.com), Open Source Program Office.