GitLab
What you'll learn​
- How to install the Cypress GitLab integration
- How to configure status checks and merge request comments
Cypress Cloud can integrate your Cypress tests with your GitLab workflow via status checks and merge request comments. A project first needs to be set up to record to Cypress Cloud to use GitLab integration.
The user enabling the integration needs to have admin access to GitLab.
GitLab Integration depends on your CI environment reliably providing a commit SHA (typically via an environment variable). This is not a problem for most users, but if you are facing GitLab integration issues with your CI setup, please make sure the git information is being sent properly by following these guidelines. If you still face issues after this, please contact us.
GitLab for Enterprise (Self-managed)​
Premium Cypress Cloud Feature
GitLab for Enterprise (Self-managed) is included in our Business and Enterprise paid pricing plans.
GitLab for Enterprise (Self-managed) Integration depends on your GitLab instance being able to reach our Cypress Cloud API on the open internet. If your instance is running behind a firewall, you may need to reconfigure your security infrastructure to allow communication with our servers.
Installing the GitLab integration​
GitLab OAuth2 applications will allow Cypress Cloud to authenticate as the user that registered the application. That means Cypress will have visibility into every GitLab repo the registered user can access. If you want tighter control of the repos that Cypress will see, consider creating a service account in GitLab with more limited access permissions.
-
Go to Cypress Cloud Organizations page or open the organization switcher.
-
Select the organization you wish to integrate with a GitLab.
-
Visit the selected organization's Integrations page via the side navigation.
-
Click the enable button under GitLab or GitLab for Enterprise (Self-managed).
-
Follow the instructions to create a new OAuth2 application in GitLab. See the GitLab docs for more details.
-
Copy the Application ID and Secret back to Cypress Cloud.
-
(GitLab Self-managed only) Copy the base URL of your GitLab instance to the GitLab URL field in Cypress Cloud.
-
Connect your projects to a GitLab repo in Project Settings → GitLab Integration or GitLab for Enterprise Integration.
-
(Optional) Configure the behavior for each project.
If you are running the tests from within a restrictive VPN, see which subdomains to add to your allowlist for Cypress Cloud and your GitLab integration to work properly
Configuring the GitLab integration​
Status checks​
By default, Cypress will post a cypress/run commit status containing the results of the Cypress run. This will prevent your team from merging any MRs with failing Cypress tests.
Additionally, Cypress can post a cypress/flake commit status indicating whether the Cypress run contained any flaky tests. This will prevent your team from merging any MRs with flaky tests.
You can manage this behavior on your project's Project Settings page.
Premium Cypress Cloud Feature
Reporting on flaky status checks is included in our Team, Business and Enterprise paid pricing plans.
Merge Request comments​
By default, Cypress will post an MR comment summarizing the run when the run completes. It will include test results, run info, and a summary of tests that failed or were flaky.
You can manage this behavior on your project's Project Settings page.
Don't rely on artifact representations or reproducing failing conditions locally. Replay the test as it executed during the recorded run with full debug capability using Test Replay.
Uninstalling the GitLab integration​
You can remove this integration by visiting the Integrations → GitLab or GitLab for Enterprise Integration page of your organization. This will stop all commit checks and MR comments from Cypress.