Skip to main content

关于GitHub代码质量

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

谁可以使用此功能?

GitHub Team 或 GitHub Enterprise Cloud

注意

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

概述

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

主要功能和优势

通过 Code Quality,您可以:

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

可用性和使用成本

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

          GitHub Code Quality 不会在公共预览版期间计费。 但是,Code Quality 扫描将消耗 GitHub Actions 分钟。 请参阅“[AUTOTITLE](/billing/concepts/product-billing/github-code-quality)”。

注意

  • 需 Copilot 或 Code Security 许可证,即可使用 Code Quality 或应用 Copilot 自动修复。

支持的语言

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

  • Go

  • Java

  • JavaScript

  • Python

  • Ruby

  • TypeScript

            Code Quality 还执行 AI 驱动的分析,结果在“**AI 发现**”存储库仪表板上单独显示。 与扫描整个代码库和拉取请求的基于 CodeQL 规则的分析不同,这种由 AI 驱动的分析仅检查最近推送到默认分支的文件,并可能识别上述语言以外的语言问题。 有关详细信息,请参阅“[AUTOTITLE](/code-security/code-quality/responsible-use/code-quality)”。
    

结果会在哪里出现?

为存储库启用 Code Quality 后,你将看到 CodeQL 扫描:

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

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

拉取请求结果

当CodeQL在拉取请求中发现基于规则的问题时,您将看到github-code-quality[bot]的注释。 如果可能,每个注释都将包含 Copilot自动修复 有关如何解决问题的建议。 请参阅“在合并拉取请求之前修复代码质量问题”。

默认分支结果

          Code Quality 默认分支上的结果会在存储库 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and 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 分钟,可在存储库的“操作”**** 选项卡上作为动态“代码质量”工作流的运行查看。

后续步骤

  •         **对于存储库:** 打开Code Quality功能,以开始生成结果。 请参阅“[AUTOTITLE](/code-security/how-tos/maintain-quality-code/enable-code-quality)”。
    
  •         **对于企业:** 确保企业中的存储库可以启用 Code Quality。 请参阅“[AUTOTITLE](/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/allow-github-code-quality-in-enterprise)”。