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 you start
Before proceeding with creating a quality gate in your VCS for your repo, you must create a dedicated Code Reviews 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 Gating Code Reviews Settings
To automatically monitor your code with Code Reviews, you need to configure your Code Reviews Settings. You can configure your settings by navigating to the Code Reviews page, select the repository you’d like to enable gating on, then click the gear icon on the right:
In the Settings, navigate to Configuration and ensure the following settings are checked:
Enable Automated Code Reviews on PRs in tracked branches
Publish branch status checks on PRs
Publish a review on PRs in VCS
Allow Code Reviews to act as an approver on PRs
You must also have webhooks created. You can create a webhook by selecting the Create Webhook button.
If you have webhooks already created, your settings will look like this.
You can find out more information about the Code Reviews Settings on this Help Article.
Configure Code Reviews 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 Code Reviews 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 Code Reviews policy, ensuring that pipelines are successfully completed before merging. Additionally, the "Threads must be resolved" option ensures that any Code Reviews 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.




