Hacktoberfest

Hacktoberfest

Hacktoberfest is a month-long celebration of open source software that happens every October. During this event, everyone can support open source by contributing changes and earning a unique digital reward. This year marks the 10th anniversary of Hacktoberfest!

We invite everyone to participate and contribute to the Jenkins project, regardless of their background and Jenkins experience. There are many ways to contribute to Jenkins during Hacktoberfest. You can participate by working on code or documentation, contributing to localization, or creating new artwork. You can also share your experiences with Jenkins by creating a new blogpost. Generally, any four non-spammy pull requests in GitHub would qualify. Please refer to the Contribute and Participate page for more information about how to contribute.

Quick start

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

  2. Join our Gitter channel.

  3. Everything is set, just start creating pull requests!

    • If a repository has no hacktoberfest topic set, contact the maintainers to see if they are willing to accept a contribution.

    • Alternatively, if a pull request has the label hacktoberfest-accepted, it will count towards your total.

    • Your pull request must not be labeled as invalid to be counted.

    • For your pull requests to be accepted, the request must either be merged, have the hacktoberfest-accepted label, or have an overall approving review on GitHub.

Where to contribute?

The Jenkins project is spread across two organizations on GitHub: jenkinsci and jenkins-infra. You are welcome to contribute to any repository in either of those organizations or any other Jenkins-related repository on GitHub. Be aware that repositories may have different contribution guidelines, review processes, and merge policies. If you adopt Jenkins in your open-source projects, such as Jenkins Pipeline or Configuration as Code, this counts as well! Not all pull requests will automatically count towards Hacktoberfest. Keep in mind, the pull request must either be merged, have the hacktoberfest-accepted label, or have an overall approving review on GitHub.

Issue queries

We have marked some issues in Jenkins Jira and GitHub issues which can be handled by contributors during Hacktoberfest:

If you are a newcomer contributor, we have prepared a list of projects/components where you will get a warm welcome. All these projects have newbie-friendly tasks, contributing guidelines, and active maintainers who have committed to assist contributors and to provide quick turnaround in pull requests.

Project/component Keywords Ideas and links

Jenkins Website

Documentation,
Asciidoc,
CSS,
Ruby

Extend and improve Jenkins documentation, help to improve the website’s look&feel, create a new blogpost, a technology-specific solution page or a tutorial.

Contributing guidelines, Good first issues

Additionally, we invite new and experienced Jenkins developers to help improve the developer documentation. If you want to learn a Jenkins development topic and share your new knowledge with others, or want to help someone else learn, you’re welcome to contribute here.

Board, chat

Jenkins Core

Java,
Jelly,
Groovy,
Javascript,
HTML,
CSS,
SCSS

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

Contributing, newcomer-friendly issues, chat

Jenkins Plugin Site

Javascript, Java, React, Gatsby

The plugin site is used to find information about 1800+ plugins available in Jenkins. It provides plugin documentation, changelogs, open issues, and other data needed for Jenkins admins and end users. We are interested to keep improving the plugin site’s UI/UX, provide more search options, and to provide deeper integration with GitHub and other services. Creating a dark mode was also mentioned a couple of times.

Jenkins Artwork

Design

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

Adding a logo

Jenkins Website - Docker-based Jenkins quickstart

Documentation, Asciidoc, CSS, Ruby, Docker, Docker Compose, Bash

Extend Jenkins Documentation, help to provide examples, sample code, and documentation on how to start a local Jenkins instance. Improve existing Jenkins Documentation and other Documentation related to Docker (for example: Build a Java app with Maven), and provide easy-to-follow documentation, especially for those who are new to Jenkins.

French translation

Git, French, Jenkins developer tools

Improve coverage of French localization of the Jenkins web interface, including the Jenkins core and plugins. The same is possible for other languages, let us know if you are interested!

Jenkins Infrastructure

Asciidoctor, Docker, Github Actions, Jenkins Pipeline, Kubernetes, Markdown, Packer, Puppet, Python, Shell, YAML

An infrastructure is constantly moving forward: there are always dependencies to update, security issues to fix, new feature to release, tools to improve, etc.

Any kind of contribution is welcome: from documentation to real life code. Either you are a beginner in this area, or a veteran of system administration, you are welcome to pick an issue and contribute!

Content Security Policy (CSP)

JavaScript, Jelly, Security

During the last years, the Jenkins Security team has seen a lot of Cross-Site Scripting (XSS) vulnerabilities, inside Jenkins core and also for a lot of plugins. They have put in place different kinds of mechanisms to enhance the protection of some of the common dangerous code locations. But this kind of approach does not scale enough to cover the wide ecosystem and the numerous different ways of introducing (accidentally) XSS vulnerabilities.

The objective of this topic is to ease the introduction of CSP in Jenkins by un-inlining the JavaScript resources.

  • Skill requirement: a bit of JavaScript. The Jelly part is straightforward. No need to have security background.

  • Time requirement: between 30 minutes and 4 hours.

More details on the approach in this document.

Experienced developers

If you are an established developer and want to create something new, feel free to explore beyond the suggested topics! Feel free to contribute to any area of Jenkins. If you see any major functionality missing in Jenkins, we invite you to create new plugins. Refer to the Plugin Tutorial and Hosting Plugins guidelines for more information.

Events

Hacktoberfest is a fully online event this year. Jenkins specific events for Hacktoberfest will be announced on the events page, in social media (twitter and LinkedIn), and through the Jenkins Online Meetup page.

We are also looking for event organizers and sponsors! See our Event Kit for more information and guidelines.

Resources

Previous years

Discuss