{"meta":{"title":"为拉取请求设置代码质量阈值","intro":"通过使用 Code Quality 阈值阻止不符合标准的拉取请求，使低质量的更改远离代码库。","product":"安全性和代码质量","breadcrumbs":[{"href":"/zh/enterprise-cloud@latest/code-security","title":"安全性和代码质量"},{"href":"/zh/enterprise-cloud@latest/code-security/how-tos","title":"How-tos"},{"href":"/zh/enterprise-cloud@latest/code-security/how-tos/maintain-quality-code","title":"维护质量代码"},{"href":"/zh/enterprise-cloud@latest/code-security/how-tos/maintain-quality-code/set-pr-thresholds","title":"设置质量阈值"}],"documentType":"article"},"body":"# 为拉取请求设置代码质量阈值\n\n通过使用 Code Quality 阈值阻止不符合标准的拉取请求，使低质量的更改远离代码库。\n\n可以通过向规则集添加 Code Quality 阈值来阻止不符合代码质量标准的拉取请求。 如果拉取请求不满足阈值，则无法合并请求。\n\n可以为以下项设置阈值：\n\n* **CodeQL 发现结果**，按您要求解决的结果的最低严重性级别排序。\n* **代码覆盖率**，按测试必须覆盖的代码行最低百分比计算。\n\n可以在 **存储库** 级别或 **组织** 级别强制实施这些阈值，以一次性跨多个存储库应用相同的标准。 当您希望在各个团队之间采用统一的质量标准时，请选择组织级别；当单个项目需要自己的标准时，请选择仓库级别。\nCode Quality\nAI 发现 不能设置为阈值。\n\n## 先决条件\n\n* 已启用 Code Quality。 请参阅“[启用 GitHub Code Quality](/zh/enterprise-cloud@latest/code-security/how-tos/maintain-quality-code/enable-code-quality?utm_campaign=code-quality-ga-july-2026\\&utm_medium=docs\\&utm_source=docs-set-quality-thresholds-enable-cq)”\n* 支持的语言中的代码。 请参阅 [支持的语言](/zh/enterprise-cloud@latest/code-security/concepts/code-quality/code-quality#supported-languages)。\n\n> \\[!NOTE]\n> 仅当存储库具有一个或多个受支持语言的代码时，阈值才会产生影响，请参阅 [启用 GitHub Code Quality](/zh/enterprise-cloud@latest/code-security/how-tos/maintain-quality-code/enable-code-quality)。\n\n## 确认 Code Quality 在拉取请求中成功运行\n\n在添加或更新规则集以纳入 Code Quality 的阈值之前，请确认 Code Quality 工作流正在运行，并将结果反馈到拉取请求中。 否则，规则集可能会阻止**所有**拉取请求的合并。\n\n1. 打开最近的拉取请求，滚动到拉取请求底部的“检查”摘要。\n2. 确认“CodeQL - 代码质量”检查已成功运行并报告其状态。\n\n有关详细信息，请参阅“[基于 CodeQL 的代码质量分析](/zh/enterprise-cloud@latest/code-security/reference/code-quality/codeql-detection)”。\n\n## 添加或更新规则集以包含 Code Quality\n\n以下步骤在存储库级别创建或更新规则集。 若要一次性跨多个存储库强制实施相同的阈值，请改为创建具有相同 **“需要代码质量结果** ”规则的组织规则集。 请参阅“[创建组织中存储库的规则集](/zh/enterprise-cloud@latest/organizations/managing-organization-settings/creating-rulesets-for-repositories-in-your-organization)”。\n\n1. 导航到存储库的“设置”选项卡。\n2. 在左侧边栏中的“代码和自动化”下，展开 <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-repo-push\" aria-label=\"repo-push\" role=\"img\"><path d=\"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0V1.5h-8a1 1 0 0 0-1 1v6.708A2.493 2.493 0 0 1 4.5 9h2.25a.75.75 0 0 1 0 1.5H4.5a1 1 0 0 0 0 2h4.75a.75.75 0 0 1 0 1.5H4.5A2.5 2.5 0 0 1 2 11.5Zm12.23 7.79h-.001l-1.224-1.224v6.184a.75.75 0 0 1-1.5 0V9.066L10.28 10.29a.75.75 0 0 1-1.06-1.061l2.505-2.504a.75.75 0 0 1 1.06 0L15.29 9.23a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018Z\"></path></svg>**“规则**”，然后单击“ **规则集**”。\n3. 如果还没有用于保护默认分支的规则集，请展开 **“新建规则集** ”，然后单击“ **新建分支规则集**”。 或者，打开默认分支的现有规则集并移动到步骤 5。\n4. 如果要创建新的规则集：\n   * 定义规则集的名称。\n   * 在试点期间校准阈值时，将“强制状态”设置为“评估”。 如果要立即强制实施阈值，请选择“活动”。\n   * 在“目标分支”下，添加“包括默认分支”的目标。\n5. 在“分支规则”下，启用“要求代码质量结果”。\n6. 设置“严重级别”以定义拉取请求合并到默认分支之前必须解决的代码质量结果的最低严重级别。 例如：\n   * 将“错误”设置为阻止含有未解决代码质量**错误**的拉取请求合并。\n   * 设置“警告及以上”以阻止包含未解决的代码质量**警告**或**错误**的拉取请求合并。\n   * 设置“注释和更高”以阻止未解析的代码质量**注释**、**警告**或**错误**的拉取请求被合并。\n   * 设置“All”以阻止包含**任何**未解决的代码质量问题的拉取请求被合并。\n7. 完成定义或编辑规则集后，单击“ **创建** ”或“ **保存更改**”。\n\n如果你选择了“Evaluate”，请查看规则集见解，以了解哪些拉取请求会被阻止。 当结果达到您想要的质量标准时，将实施状态更改为“已启用”。\n\n## 设置代码覆盖率阈值\n\n还可以阻止低于代码覆盖率阈值的拉取请求。 这使用单独的 **“限制代码覆盖率** ”规则，而不是上面使用的 **“需要代码质量结果** ”规则，存储库必须首先上传代码覆盖率数据。 有关完整过程，请参阅 [为拉取请求设置代码覆盖率阈值](/zh/enterprise-cloud@latest/code-security/how-tos/maintain-quality-code/restrict-code-coverage)。"}