GSoC 2021 Project Ideas
This site is the new docs site currently being tested. For the actual docs in use please go to https://www.jenkins.io/doc. |
This page aggregates project ideas for Google Summer of Code 2021. See more information about this project and applications on the Jenkins Google Summer of Code page.
Below you can find project ideas which have been proposed for this year. New ideas may be proposed by interested mentors or students (e.g. new features in the core, "write a plugin for MY_TOOL_OR_SERVICE", etc.). Project ideas without potential mentors will be considered though applicants may need to work with the community and GSoC org admins to find mentors. To add a new project idea, see: proposing project ideas.
Accepted ideas
Below you can see the list of project ideas that fully match the Jenkins' project idea standard. The scope of these ideas is well known and we don’t normally expect deep changes. All ideas have quick start guidelines and newbie-friendly issues referenced. We welcome contributors to join the mentor teams, and we invite students to submit project proposal applications in relation to these ideas.
Project |
Category |
Skills to study/improve |
Automatic Specification Generator for Jenkins REST API Find and implement the extraction of the REST APIs from the sources and generate and publish the REST APIs respective documentation. Potential Mentor(s): Kristin Whetstone Oleg Nenashev |
Plugins |
Java, REST API, OpenAPI / Swagger |
Polling Docker Registries for Image Changes Create a new Jenkins plugin to automate polling of image changes and security scans. Potential Mentor(s): Justin Harringa Andrey Falko Michael Cirioli |
Plugins |
Java, Docker |
EDA Coverage Adapters Create Jenkins plugins for various Electronic Design Automation coverage reports. Potential Mentor(s): Oleg Nenashev Shenyu Zheng |
Plugins |
Java, EDA Tools, FPGA, ASIC, Coverage |
Plugin(s) for Electronic Design Automation tools Create a new Jenkins plugin for one of widely used EDA tools. Potential Mentor(s): Oleg Nenashev Ayush Agarwal |
Plugins |
Java, EDA Tools |
External Fingerprint Storage for Jenkins Extend Jenkins to support storing artifact usage history in external databases. Potential Mentor(s): Oleg Nenashev Michael Cirioli |
Core |
Java, Databases (PostgreSQL/Elasticsearch), REST API, JavaScript |
Git repository caching on agents Cache git repositories on agents for faster checkout. Potential Mentor(s): Mark Waite Francisco Fernandez Parichay Barpanda |
Plugins |
Java, Git |
Git plugin performance improvements Improve git plugin performance. Potential Mentor(s): Mark Waite Francisco Fernandez Oleg Nenashev Parichay Barpanda Justin Harringa |
Plugins |
Java, Git, Benchmarking, JMH |
GitHub Checks API for Jenkins Plugins Create a new plugin API so that plugins can publish GitHub checks status messages. Potential Mentor(s): Ullrich Hafner Tim Jacomb Jeff Pearce Jon Brohauge Ayush Agarwal |
Plugins |
Java, REST API, GitHub |
Custom Jenkins distribution build service Provide an out of the box solution for packaging Jenkins distributions as WAR files or Docker images. Potential Mentor(s): 赵晓杰(Rick) Jeff Pearce |
Tools |
Java, Web Development, Docker |
Jenkins X: Consolidate the use of Apps / Addons Consolidate Apps and Addons inside Jenkins X. Potential Mentor(s): James Strachan Neha Gupta Michael Cirioli Oscar Medina Kara de la Marck Nikhil Da Rocha Sahil Kalra |
Jenkins X: Consolidate the use of Apps / Addons Consolidate Apps and Addons inside Jenkins X. Potential Mentor(s): James Strachan Neha Gupta Michael Cirioli Oscar Medina Kara de la Marck Nikhil Da Rocha Sahil Kalra |
Jenkins X |
Go, Kubernetes |
Jenkins X: Create Boot Apps Create a simple canonical way to install any Helm chart in any namespace. Potential Mentor(s): James Strachan Oscar Medina Kara de la Marck Sahil Kalra Nikhil Da Rocha |
Jenkins X |
Go, Kubernetes, Helm |
Jenkins and Machine Learning Plugins for Data Science Create a new plugin for integrating Jenkins with one of Machine Learning tools (e.g. Jupyter Python, TensorBoard, or Sacred). Potential Mentor(s): Ioannis Moutsatsos Bruno P. Kinoshita Marky Jackson Shivay Lamba |
Plugins |
Java, Jenkins plugin, Apache Zeppelin, Jupyter Notebooks, Python, Machine Learning, Data Science |
Jenkins Pipeline as YAML: experimental plugin Add out-of-the-box support of Jenkins Pipeline definitions in YAML. Potential Mentor(s): Oleg Nenashev Jeff Pearce Aytunc Beken |
Plugins |
Java, Jenkins Pipeline, Domain Specific Languages, YAML, Jenkins X |
Plugin Installation Manager Tool Improvements Update the plugin installation manager to integrate with the docker image and Configuration as Code projects. Potential Mentor(s): Kristin Whetstone Tim Jacomb |
Tools |
Java, JSON, Command line tools, Package management tool theory |
Jenkins Windows Services: YAML Configuration Support Enhance Jenkins controller and agent service management on Windows by offering new configuration file formats and improving settings validation. Potential Mentor(s): Oleg Nenashev Michael Cirioli Next Turn |
Core, Tools |
Draft project ideas
Below you can see draft project ideas, which are currently under review. The scope of such ideas may change during the discussions, but the idea is accepted in principle. You are welcome to comment on the draft and to join the project as a mentor. If you are a student, it is also fine to explore and to apply to the draft project ideas.
Project |
Category |
Skills to study/improve |
Code Coverage API Plugin Improvements Improve the new Jenkins Code Coverage API plugin and enhance its performance and extensibility. Potential Mentor(s): Shenyu Zheng Jeff Pearce |
Plugins |
Java, JavaScript, Coverage |
Jenkins REST Plugin Create a new plugin to give Jenkins users the ability to make calls to other Jenkins instances via their REST API. Potential Mentor(s): Sagar Utekar |
Plugin |
Java, REST API, Jenkins Pipeline |
Personal Package Archive platform for OpenWrt Create a platform to build and host packages for OpenWrt (PPA, or Personal Package Archive) using Jenkins X. Potential Mentor(s): Benjamin Henrion Sahil Kalra Nikhil Da Rocha |
Jenkins X |
Shell, Makefiles, Docker, Kubernetes |
Pipeline Step Documentation Generator improvements Enhance the Jenkins Pipeline documentation generator to produce better documentation for thousands of Pipeline developers. Potential Mentor(s): Kristin Whetstone Michael Cirioli |
Dev Tools |
Java, Jenkins Pipeline, HTML, CSS, Asciidoc, JavaScript |
Jenkins Remoting Monitoring Support monitoring of Jenkins remoting networking with open source monitoring tools such as Prometheus, Grafana, etc.. Potential Mentor(s): Oleg Nenashev 赵晓杰(Rick) Michael Cirioli Marky Jackson |
Plugins, Core |
Java, Networking, Docker, Prometheus/Grafana/etc. |
Ongoing discussion
These are proposals in the mailing lists which have not been published as project ideas yet. The feasibility is yet to be defined, and the idea may be dismissed depending on the feedback. Everyone is welcome to participate in the discussion and to join as a potential mentor.
Project |
Category |
Artifactory REST Plugin Create a new plugin to give Jenkins users the ability to make REST API calls to Artifactory natively. |
Plugin |
Bitbucket REST Plugin Create a new plugin to give Jenkins users the ability to make REST API calls to Bitbucket natively. |
Plugin |
Improvement for Jenkins CLI written in Golang Add new features to the new CLI tool. |
Tools |