--- title: Setting code quality thresholds for pull requests shortTitle: Set PR thresholds intro: 'Create a {% data variables.product.prodname_code_quality_short %} gate for pull requests to increase the quality of code merged into your repository.' versions: feature: code-quality product: '{% data reusables.gated-features.code-quality-availability %}' permissions: '{% data reusables.permissions.code-quality-repo-enable %}' topics: - Code Quality contentType: how-tos --- {% data reusables.code-quality.code-quality-preview-note %} ## Introduction You can block pull requests that don't meet your code quality standards by adding the **Require code quality results** branch rule to a ruleset and specifying the severity level you require. If a pull request doesn't reach this threshold, it can't be merged. ## Prerequisites * {% data variables.product.prodname_code_quality_short %} is enabled. See [AUTOTITLE](/code-security/code-quality/how-tos/enable-code-quality) * Code in a supported language. See [Supported languages](/code-security/code-quality/concepts/about-code-quality#supported-languages). > [!NOTE] > The threshold will have an impact only if the repository has code in one or more of the supported languages, see [AUTOTITLE](/code-security/code-quality/how-tos/enable-code-quality). ## Confirming {% data variables.product.prodname_code_quality_short %} runs successfully on pull requests Before you add or update a ruleset to include a threshold for {% data variables.product.prodname_code_quality_short %}, confirm that the {% data variables.code-quality.workflow_name_actions %} workflow is running and reporting results back to pull requests. Otherwise, the ruleset could block the merging of **all** pull requests. 1. Open a recent pull request and scroll to the "Checks" summary at the bottom of the pull request. 1. Confirm that the "{% data variables.code-quality.check_status_name %}" check ran successfully and reported its status. For more information, see [AUTOTITLE](/code-security/code-quality/reference/codeql-detection). ## Adding or updating a ruleset to include {% data variables.product.prodname_code_quality_short %} 1. Navigate to the "Settings" tab of your repository. 1. In the left sidebar, under "Code and automation", expand {% octicon "repo-push" aria-hidden="true" aria-label="repo-push" %} **Rules**, then click **Rulesets**. 1. If you don't already have a ruleset to protect your default branch, expand **New ruleset** and click **New branch ruleset**. Alternatively, open your existing ruleset for the default branch and move to step 5. 1. If you are creating a new ruleset: * Define a name for the ruleset. * Set the "Enforcement status" to "Active." * Under "Target branches" add a target of "Include default branch." 1. Under "Branch rules", enable "Require code quality results". 1. Set "Severity" to define the lowest severity of code quality results that must be resolved before a pull request can be merged into the default branch. For example: * Set "Errors" to block pull requests with unresolved code quality **errors** being merged. * Set "Warnings and higher" to block pull requests with unresolved code quality **warnings** or **errors** being merged. * Set "Notes and higher" to block pull requests with unresolved code quality **notes**, **warnings** or **errors** being merged. * Set "All" to block pull requests with **any** unresolved code quality results being merged. 1. When you have finished defining or editing the ruleset, click **Create** or **Save changes**. ## Next steps Learn how {% data variables.product.prodname_code_quality %} works on pull requests to prevent code quality issues from reaching your default branch. See [AUTOTITLE](/code-security/code-quality/tutorials/fix-findings-in-prs).