- How approvals work
- Approve a merge request
- Optional approvals
- Required approvals
- Related topics
- Troubleshooting
Merge request approvals
You can configure your merge requests so that they must be approved before they can be merged. While WVS allows all users with Developer or greater permissions to approve merge requests, these approvals are optional.
- Create required rules about the number and type of approvers before work can merge.
- Specify a list of users who act as code owners for specific files, and require their approval before work can merge.
You can configure merge request approvals on a per-project basis.
How approvals work
With merge request approval rules, you can set the minimum number of required approvals before work can merge into your project. You can also extend these rules to define what types of users can approve work. Some examples of rules you can create include:
- Users with specific permissions can always approve work.
- Code owners can approve work for files they own.
- Users with specific permissions can approve work, even if they don’t have merge rights to the repository.
- Users with specific permissions can be allowed or denied the ability to override approval rules on a specific merge request.
You can also configure:
- Additional settings for merge request approvals for more control of the level of oversight and security your project needs.
- Merge request approval rules and settings through the WVS UI or with the Merge request approvals API.
Approve a merge request
When an eligible approver visits an open merge request, WVS displays one of these buttons after the body of the merge request:
- Approve: The merge request doesn’t yet have the required number of approvals.
- Approve additionally: The merge request has the required number of approvals.
- Revoke approval: The user viewing the merge request has already approved the merge request.
Eligible approvers can also use the /approve
quick action when adding a comment to
a merge request.
If a user approves a merge request and is shown in the reviewer list, a green check mark
() displays next to their name.
After a merge request receives the number and type of approvals you configure, it can merge unless it’s blocked for another reason. Merge requests can be blocked by other problems, such as merge conflicts, pending discussions, or a failed CI/CD pipeline.
To prevent merge request authors from approving their own merge requests, enable Prevent author approval in your project’s settings.
If you enable approval rule overrides, merge requests created before a change to default approval rules are not affected. The only exceptions are changes to the target branch of the rule.
Optional approvals
WVS allows all users with Developer or greater permissions to approve merge requests.
Required approvals
Required approvals enforce code reviews by the number and type of users you specify. Without the approvals, the work cannot merge. Required approvals enable multiple use cases:
- Enforce review of all code that gets merged into a repository.
- Specify reviewers for a given proposed code change, and a minimum number of reviewers, through Approval rules.
- Specify categories of reviewers, such as backend, frontend, quality assurance, or database, for all proposed code changes.
- Use the code owners of changed files, to determine who should review the work.
- Require an approval before merging code that causes test coverage to decline
- Require approval from a security team before merging code that could introduce a vulnerability.
Related topics
- Merge request approvals API
- Instance-level approval rules for self-managed installations
Troubleshooting
For additional support, please reach out to us on our Discord or by Email.