Skip to main content

Create a quality gate with GitLab

Learn how to create a quality gate with GitLab that will only let merge code that passes Clayton's reviews.

Gabriele Gallo Stampino avatar
Written by Gabriele Gallo Stampino
Updated over 3 weeks ago

What is a quality gate?

A quality gate is the best way to enforce a quality policy in your organization. Setting up a quality gate allows you to prevent any code that doesn't pass code reviews, from being merged into certain branches.

Key Benefits

  • Enforce code quality consistency across the entire project

  • Ensure that newly committed code doesn't introduce problems

  • Ensure issues are addressed before being merge

Before to start

Before proceed with creating a quality gate in your VCS for your repo, you must enable Clayton Automation and create a dedicated Clayton connection user for your project. It's also important to note that to use this feature in Gitlab you will need to be on the Premium plan.

Enable Automation

Make sure to activate the Clayton Automation to monitor your code and start using webhooks to publish status updates for the PR and branch reviews on your VCS.
Please have a look at the dedicated Help Article to learn how to enable automation.

Configure Clayton as a required approval for your merge requests

Go to GitLab, navigate to your repository's General settings, and expand the Merge request approvals section.

Select Add approval rule or Update approval rule (this feature requires a Premium or Ultimate version of GitLab).

Add the Clayton connection user to the approvers and ensure the Approvals required field is set to at least 1.


Click on Save changes


Status checks


To enable Status Checks in GitLab or Gearset, make sure the "Pipelines must succeed" setting is activated. This setting covers Gearset validation-only jobs as well as each Clayton policy, ensuring that pipelines are successfully completed before merging. Additionally, the "Threads must be resolved" option ensures that any Clayton report, stamped as a comment, along with any other reviewer comments, are addressed before merging. You can find both options within your repository's settings under Merge Requests, specifically in the Merge Checks section.

Did this answer your question?