Skip to main content

关于 GitHub 代码质量

使用 GitHub Code Quality 标记拉取请求和存储库扫描中的代码质量问题,应用由 Copilot 支持的自动修复,并通过规则集强制执行标准。

谁可以使用此功能?

上的组织拥有的存储库

注意

GitHub Code Quality 当前正处于 公共预览版 阶段,并可能会发生变化。 在 公共预览版期间,Code Quality 不会计费,尽管 Code Quality 扫描将使用 GitHub Actions 分钟。

概述

GitHub Code Quality 帮助你确保代码库可靠、可维护且高效。 无论你是在构建新功能、减少技术债务还是报告存储库健康状况,Code Quality 都能提供可操作的见解和自动化修复,帮助你高效改进和维护存储库的代码健康状况。

主要功能和优势

使用 Code Quality,可以:

  • 确定 拉取请求存储库扫描中的代码质量风险和机会。
  • 查看调查结果的清晰说明,并应用一键式 Copilot 自动修复功能
  • 使用 存储库仪表板 跟踪可靠性和可维护性分数,确定需要注意的领域,并确定修正的优先级。
  • 为拉取请求设置 规则集 ,以强制实施代码质量标准,并阻止不符合条件的更改。
  • 如果你拥有 Copilot 许可证,则可以轻松地将修正工作分配给 Copilot 编码智能体

可用性和使用成本

GitHub Code Quality 适用于 GitHub Team 和 GitHub Enterprise Cloud 计划中组织拥有的存储库。

GitHub Code Quality 在公共预览期间不收费。 但是,Code Quality 扫描会消耗 GitHub Actions 分钟数。 请参阅“GitHub Code Quality 计费”。

注意

  • 使用 Code Quality 或应用 Copilot 自动修复功能无需 Copilot 或 Code Security 许可证。
  • 在 公共预览版 期间,阻止存储库所有者使用 Code Security 的企业策略也会阻止使用 Code Quality。 请参阅“允许在企业中使用 GitHub Code Quality。”。

支持的语言

Code Quality 使用 CodeQL 对以下语言执行基于规则的分析:

  • C#
  • Go
  • Java
  • JavaScript
  • Python
  • Ruby
  • TypeScript

Code Quality 还会执行 AI 驱动的分析,结果单独显示在存储库仪表板的“AI 发现”部分。 与扫描整个代码库和拉取请求的基于规则的 CodeQL 分析不同,这种 AI 驱动的分析仅检查最近推送到默认分支的文件,且可能识别上述列出语言之外的问题。 有关详细信息,请参阅“Responsible use of GitHub Code Quality”。

了解启用后 Code Quality 的调查结果显示位置

为存储库启用 Code Quality 后,你将看到以下场景的 CodeQL 扫描结果:

  • 针对默认分支打开的每个新拉取请求
  • 默认分支的所有现有拉取请求在更新时(触发 CI 测试新运行)
  • “代码质量”设置页显示的日期和时间点默认分支上的整个代码库

此外,你还将看到对所有最近推送到默认分支的代码的 AI 驱动分析结果。

拉取请求结果

当 CodeQL 在拉取请求中发现基于规则的问题时,你将看到来自 github-code-quality[bot] 的评论。 在可能的情况下,每条评论都会包含 Copilot Autofix 建议,说明如何解决该问题。 请参阅“Fixing code quality findings before merging your pull request”。

默认分支结果

默认分支上的 Code Quality 调查结果会在存储库“安全”**** 选项卡的“代码质量”页中报告:

  •         **常规发现** 显示 CodeQL 质量分析的结果。 请参阅“[AUTOTITLE](/code-security/code-quality/tutorials/improve-your-codebase)”。
    
  •           **AI 发现** 显示对最近推送到默认分支的文件的 AI 驱动分析结果。 请参阅“[AUTOTITLE](/code-security/code-quality/tutorials/improve-recent-merges)”。
    

扫描信息

每次 CodeQL 分析都会消耗 GitHub Actions 分钟数,可在存储库的“操作”**** 选项卡中查看,显示为动态“代码质量”工作流的一次运行。

后续步骤