> For the complete documentation index, see [llms.txt](https://docs.currents.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.currents.dev/resources/integrations/gitlab.md).

# GitLab

Integrating Currents dashboard with GitLab

{% hint style="info" %}
The integration is available for both Playwright and Cypress. The examples and screenshot below are based on Cypress framework.
{% endhint %}

Currents Dashboard integration with GitLab allows posting [commit build statuses](https://docs.gitlab.com/ee/api/commits.html#post-the-build-status-to-a-commit) as well [merge request comments](https://docs.gitlab.com/ee/user/discussions/) with a summary of your cypress tests.

#### Example of GitLab commit status

![Cypress GitLab Integration - commit build status example](https://3745692499-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmFDEiUa9mr11LUlxDnt%2Fuploads%2FXIZ1uJWLbK0MVuBffjyj%2Fcypress-gitlab-integration-commit-status.png?alt=media\&token=0505bbf3-921d-4265-8f50-2febcf4637c2)

#### Example of GitLab Merge Request note

![Cypress GitLab Integration - Merge Request comment example](https://3745692499-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmFDEiUa9mr11LUlxDnt%2Fuploads%2F7B6jLygRd8x5kg83hkTx%2Fcypress-gitlab-merge-request-note.png?alt=media\&token=c94f343f-e0a1-4545-971b-cead8b39c4c3)

### Enabling GitLab Integration

In order to install GitLab integration in Currents Dashboard, visit **Project Settings -> Integrations** and click **Connect GitLab repositories**.

![Installing GitLab integration for Cypress](https://3745692499-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmFDEiUa9mr11LUlxDnt%2Fuploads%2FsImu9neSI68rHQB25QyF%2Fcypress-gitlab-install-integration.png?alt=media\&token=46912c6a-f730-4270-903e-8d0677491ce0)

{% hint style="info" %}
**GitLab Enterprise and self-hosted GitLab users:** you'd override the default **GitLab Instance Domain** with the base URL of your GitLab setup. For example `https://gitlab.yourcompany.com`
{% endhint %}

Follow the on-screen instructions to create a new [GitLab OAuth App](https://docs.gitlab.com/ee/integration/oauth_provider.html#user-owned-applications) with the following properties:

* `https://hub.currents.dev/gitlab/callback` as **Redirect URI**
* `api` scope in the application permissions

{% hint style="info" %}
**Please note:** `api` scope is required for the integration to work correctly. At the time of implementation, GitLab didn't allow setting more granular permissions.

Here's the list of API calls that Currents use:

* Getting the list of repositories accessible to OAuth token issuer
* Posting commit build status updates
* Posting and deleting Merge Request notes
  {% endhint %}

Enter the details (**App ID** and **App Secret**) of the newly created GitLab OAuth App and click **Connect.**

After a successful connection, you will see a dropdown list of accessible GitLab projects (repositories). Select the repository you'd like to integrate with the Currents project and click **Save.**

![Installing GitLab Integration](https://3745692499-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmFDEiUa9mr11LUlxDnt%2Fuploads%2FkW51ffCDhy9zXgrTdhpl%2FScreenshot%202026-01-19%20at%2020.07.26.png?alt=media\&token=1dcf2995-bf36-4e2a-a7e5-722c2b4fe468)

Currents Dashboard will start posting [commit build statuses](https://docs.gitlab.com/ee/api/commits.html#post-the-build-status-to-a-commit) and [merge request comments](https://docs.gitlab.com/ee/user/discussions/) with a summary of your Playwright tests for Merge Requests in the selected project.

### Customizing GitLab Integration

Toggling GitLab Integration settings change the type of content that is being posted to GitLab

![Customizing GitLab Integration](https://3745692499-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmFDEiUa9mr11LUlxDnt%2Fuploads%2FpKktUg5AHhmt5VOAC95E%2FCleanShot%202022-06-02%20at%2000.52.52%402x.png?alt=media\&token=ccdd086d-10b6-4f74-b47d-a60c85496692)

* Merge Requests Comment - will toggle on / off posting run results summary to a merge request
* Commit Status - will toggle on / off updating commit status with run results

### Disabling GitLab Integration

Clicking **Disconnect Project** (1) will detach the integration from the currently selected GitLab project. Disconnecting a project would keep GitLab OAuth App credentials. You would still be able to select a different GitLab project from the list to reactivate the integration.

**Uninstalling** (2) the integration removes the associated credentials and the integration altogether.

![Disabling GitLab Integration](https://3745692499-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmFDEiUa9mr11LUlxDnt%2Fuploads%2FRKrBh2pyuYbk9FfER3Yy%2FCleanShot%202022-06-02%20at%2000.57.05%402x.png?alt=media\&token=ee2ce2df-1d45-4b82-9845-4459ad0337a6)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.currents.dev/resources/integrations/gitlab.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
