Quality Gates in Copado Continuous Delivery

Updated 3 months ago by Copado Solutions

With Copado Continuous Delivery you can automate quality testing and create connection behaviors with quality gates to ensure all your changes are passing the relevant quality checks while moving across the different environments in your pipeline. 

You can do this on a particular user story by using the Submit button on the User Story record or on a group of user stories if you deploy them all at once from the Pipeline page. Quality gates can also be applied to org-to-org metadata deployments. Therefore, if you create a standalone metadata deployment and there is a connection behavior in the destination environment of your deployment, quality gates and automations will be applied if the metadata components you are deploying match the specifications in the connection behavior.

Let’s take a look at each of these quality gates and see their main functionality and use case:

Quality Gate

Step Type

Functionality

Use Case Example

Automation

Automation

Execute a group of steps (External CI, Apex or Salesforce Flow).

Execute a Checkmarx scan.

Apex Test with Validation

Git Promotion

Executes the Git Promotion step with the Check Only checkbox enabled. You can specify the test level you want to apply when configuring the quality gate.

Test promotions that include Apex code, by specifying a test level.

Compliance Check

URL Callout

Scans the metadata committed in the Git Promotion step with the specified Compliance Rule Group.

Automatically scan profiles or permission sets being promoted to identify if there are any compliance violations.

Manual Approval

Manual Task

Pauses the deployment for a person to review the deployment details

The release manager reviews the deployment and marks the task as Complete if this is approved.

Manual Test

Manual Task

Pauses the deployment for a person to manually test the functionality in the source org*.

A QA tester validates that the functionality of the promoted user stories works as expected in the source org and marks the task as Complete if the test is successful.

Pull Request

Manual Task

Pauses the deployment for a person to create and review a pull request between the promotion branch and the destination branch*.

For promotions containing sensitive metadata, your team can decide to do a pull request review at the promotion level.

Selenium Test

URL Callout

Executes a Selenium Test Group in the source org*.

Run a regression test in the source org to confirm that the functionality is working as expected.

Static Code Analysis

URL Callout

Scans the metadata committed in the Git Promotion step with the specified Static Code Analysis Settings.

Validation

Git Promotion

Executes the Git Promotion step with the Check Only checkbox enabled. The test level is set to No Test Run.

URL Callout

URL Callout

Executes the URL callout.

Callout to an external system to run a job.

*Pull requests for the promotion branch are optional. Pull requests of the user story feature branches should also be enforced as a best practice.

At the moment, quality gates and automations do not apply to commits done using the Destructive Changes Git operation.

How did we do?