Skip to main content

基于 CodeQL 的代码质量分析

有关 CodeQL 驱动的分析 Code Quality 工作原理、使用的工作流以及针对拉取请求报告的状态检查的信息。

注意

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

          CodeQL驱动的分析

          Code Quality 使用 CodeQL 对拉取请求和默认分支进行基于规则的分析。

* 默认分支的查找显示在您的存储库 Security and quality下的“常规发现”仪表板中。

  •         **拉取请求**的结果以`github-code-quality[bot]`的注释形式显示。
    
            Copilot自动修复 针对发现提供建议(如有可能)。
    

支持语言的查询列表

每个 Code Quality 规则都编写为 CodeQL 中的查询,并使用 GitHub Actions 运行。

规则由 GitHub 和开源开发人员不断完善。

  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/csharp-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/go-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/java-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/javascript-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/python-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/ruby-queries)
    

有关项目的详细信息 CodeQL ,请参阅 https://codeql.github.com/

用于代码质量分析的工作流

可以在存储库的操作选项卡上查看Code Quality。 动态工作流称为“代码质量”。

默认情况下,工作流 代码质量 在标准 GitHub 运行程序上运行,但你可以配置为 Code Quality 使用具有特定标签的运行程序。 这些可以由 GitHub 或自托管。

如果组织配置了专用注册表的缓存,这些注册表将可用于代码质量分析,以用于解析依赖项。

有关详细信息,请参见:

  •         [AUTOTITLE](/code-security/code-quality/how-tos/enable-code-quality)
    
  •         [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/giving-org-access-private-registries#code-quality-access-to-private-registries)
    

拉取请求状态检查

当代码质量分析在拉取请求上运行时,在拉取请求底部的“检查”部分会显示“CodeQL - 代码质量 / Analyze”检查。

由扫描识别的任何代码问题都在合并请求的注释中报告。 评论由 github-code-quality[bot] 提出,并包含 Copilot自动修复 的建议。

状态验证失败

工作流无法运行。 例如,你的 Actions 分钟数预算已用尽。 请参阅 查看日志来诊断故障

合并被阻止:检测到代码质量问题

扫描发现代码中的问题超出了存储库的代码质量分支规则设置的质量门。 在合并拉取请求之前,您需要解决这些问题。 请参阅“解决拉取请求中的阻塞”。