This module integrates to GitLab utilizing the GitLab API version 4.

All API resources are available through simple calls like

$api = \Drupal::service('gitlab_api.api');
$groups = $api->getClient()->groups();

to receive a list of all groups on a GitLab instance.

The module supports GitLab server profiles as config entities, so you can create as many you like and talk to all the GitLab instances that matter to you from within your Drupal site.

Beware, if you're using this together with Drupal's GitLab instance at git.drupalcode.org, you may have limited access due to restricted permissions, see Allow full access to Gitlab API (subject to user permission limits) for further details.

This module utilizes the GitLabPHP Client and dynamically provides all the methods, that are implemented there, to the API service of this module.

Full documentation of the GitLab API can be found at https://docs.gitlab.com/ee/api/api_resources.html

With the ECA GitLab API submodule, you can also leverage all API methods from within ECA models.

This module also comes with a webform handler plugin which allows you to create a new project from a webform submission.

Supporting organizations:
Paid for my time

Project information

Releases

3.0.0-alpha1 released 12 May 2026
Works with Drupal: ^11.3 || ^12
Install:

Development version: 3.0.x-dev updated 28 May 2026 at 08:30 UTC

2.3.0-beta1 released 20 June 2024
Works with Drupal: ^10.3 || ^11
Install:

Development version: 2.3.x-dev updated 14 Jul 2025 at 11:35 UTC

2.2.1 Stable release covered by the Drupal Security Team released 20 June 2024
Works with Drupal: ^10
Install:

Development version: 2.2.x-dev updated 5 Jul 2024 at 12:22 UTC