Gearset's quality control
By default, all pull requests which are validated by Gearset go through a minimum level of automatic testing, which is Salesforce validation. Any change that you are attempting to introduce into your Pipeline will need to be validated against the org you'd like to deploy it to, to make sure it's functional.
You can add extra layers to this integrated testing, in the settings of the CI jobs that make up your pipeline.
Unit testing
Configure the level of unit testing you would like to run on the code that you've included in your pull request, and the org that you're deploying it to. we have more information on what these testing levels mean here.
If the pull request does not pass the specified level of testing then it remains as a pull request and cannot be merged until these issues are resolved.
Try the 'run only the changes in my package' if you'd like to run tests only on any new code you're introducing rather than any legacy code that may be in your org and slow you down.
Static code analysis
Gearset supports the creation of customized static code analysis rulesets (learn how to create one here ) and you can use these to make sure that if specific rules are violated then the promotion of a pull request will be blocked. Gearset will run static code analysis over the proposed change and produce a report on the code quality of the pull request. If the code quality violates the rules configured in that CI jobs settings then the change cannot be promoted.
Try monitoring jobs if you'd like to see the static code analysis report of an entire org at once.
Lightning web component testing
This is a piece of integrated testing which can only be found in the Pipelines and CI part of Gearset, and allows you to integrate the testing of your LWC into your Pipeline. Depending on the settings you configure you can prevent a pull request being promoted if the lightning web components within that pull request do not pass their tests.
Code review
There are many ways to incorporate code review into your Gearset Pipeline - you might want to integrate Jira and your internal comms channel and tag a teammate in a ticket update. You might also want to follow the more traditional path and do your code review on the pull request itself.
This is where we see one of the advantages of connecting Gearset with your businesses chosen source control provider. If the business already has a minimum standard of code review or protected branches then Gearset will respect that.
You may want to set up some new rules for your Pipeline to make sure that your teammates are viewing and approving any changes that you're making. Depending on your source control provider these may be called branch rules or branch policies.
Azure DevOps
In Azure these are called branch policies.
View your branches.
Hover over the branch you would like to apply the policy to, and click the 3 dots on the far right-hand side.
Open "Branch policies"
Decide on your chosen policy. A popular choice is to choose a required number of reviewers and set the number to 1.
The promotion of the change will now be blocked until at least one other person has approved it.
GitHub
In GitHub these are called branch protection rules.
Go into your repository settings.
View
Branches
.Click
Add rule
and make sure the name of the rule is the same as the branch you want to protect.Decide on your chosen policy.
The promotion of the change will now be blocked until at least one other person has approved it.
With these settings checked, the Promote Changes button will still show against your PR's in the Pipeline, but will not let them be merged and show this message if the Review has not been completed
If you are a Repo Admin; to see the same behavior in Pipelines, make sure the following setting is checked
GitLab
In GitLab you can protect branches, which means that only limited groups are able to directly push code.
Got into your repository settings.
Find the
Protected branches
section and choose the branch you want to protect.
Merge requests are required before being able to push code to this branch.
Bitbucket
In Bitbucket you can set up Branch permissions.
Go into your repository settings
Click
Branch permissions
, andAdd a branch permission
Set permissions for specific users, and certain requirements that have to be met before a branch can be merged.
Now no one except Claudia McPhail
has write access to that branch, and all pull requests require at least one review before they can be merged.