GitLab Plugin Modernization

Project goal: Cleaning and modernizing the extensively used GitLab plugin

Skills to study/improve: Java, Docker, GitLab

NOTE: This idea is published as a draft under active discussion, but it is confirmed in principle. It is FINE to apply to it. The scope and the suggested implementation may change significantly before the final version is published. Sections like quickstart guide and newbie-friendly issues may be also missing. As a contributor, you are welcome to request additional information and to join the discussions using channels linked on this page.

Details

Background

The GitLab plugin is widely used (58,727 installations) but has not had an active maintainer for a long time. Many of us at CloudBees have volunteered to keep it afloat over the years, including Owen, Basil, Bruno, Jean-Marc, and Mark. But it could use a sprint of active development. Maybe GSoC could be a good way to staff this with an intern?

At first sight, there are a number of things that need to be done to keep this plugin afloat in the long term:

  • Migrate from the very old version of RESTEasy it is using to the GitLab API plugin (just like GitLab Authentication, GitLab Branch Source, and GitLab Logo)

  • Revive the Docker-based functional test suite. It has been broken for some time and is currently disabled.

  • Fix any of the dozens of outstanding bugs.

The objectives could be expanded to cover the "sister" gitlab-branch-source plugin.

This would be a good GSoC project for the following reasons:

  • While boasting less of a brag factor than the exponential backoff and jitter idea, impact to a large number of users might be brag factor enough.

  • Would be ideal for someone who wants to get GitLab experience and get paid along the way.

  • Feasible within three months: Nothing prohibitively hard here, just a matter of doing the work (cutting code and testing).

  • Stretchable and shrinkable scope: If the intern is struggling, we can drop one of the two main changes. If the intern is doing better than expected, we can fix more bugs.

  • Not fatal if the project fails: People still seem to keep using this plugin no matter how poorly maintained it is.

Skills to Study and Improve

  • Java

  • Docker

  • GitLab

Project Difficulty Level

Beginner to Intermediate

Project Size

175 hours

Expected outcomes

A new release of the GitLab plugin that uses the GitLab API instead of RESTEasy, many bugs fixed, and a revamped docker-based functional test suite.

Details to be clarified interactively, together with the mentors, during the Contributor Application drafting phase.

Potential Mentors

Project Links

Organization Links

> Go back to other GSoC 2023 project ideas