关于工具状态页面
工具状态页面显示有关所有代码扫描工具的有用信息。如果代码扫描未按预期工作,则工具状态页面是调试问题的良好起点。
使用工具状态页面,您可以查看代码扫描工具在代码库中的工作情况,代码库中的文件首次扫描和最近扫描的时间,以及扫描的计划时间。对于 CodeQL 等集成工具,您还可以查看更详细的信息,包括已扫描文件的百分比和特定的错误消息。
您还可以查看代码库中每个代码扫描工具配置所检查的规则,并下载结果摘要。
注意
工具状态页面显示工具在代码库级别的工作情况,而不是在组织级别。工具状态仅显示为配置该工具的代码库的默认分支。
查看代码库的工具状态页面
每个代码库的代码扫描警报页面都包含一个工具横幅,其中包含代码扫描分析健康状况的摘要,以及访问工具状态页面以浏览设置的权限。
- 在 GitHub 上,导航到代码库的主页。
- 在代码库名称下,单击** 安全**。如果您看不到“安全”选项卡,请选择****下拉菜单,然后单击**安全**。
- 在左侧边栏中,单击 代码扫描.
- 在工具横幅中单击**工具状态**。
使用工具状态页面
在工具状态页面中,您将看到一个工具的摘要,在侧边栏中突出显示。您可以使用侧边栏查看不同工具的摘要。
对于 CodeQL 等集成工具,您可以看到代码库中最近扫描的所有文件的百分比总数,按编程语言组织。有关哪些文件被视为已由 CodeQL 扫描的信息,请参阅“CodeQL 如何定义已扫描的文件”。您还可以下载 CSV 格式的详细语言报告。有关更多信息,请参阅“下载已分析文件的详细信息”。
三种可能的工具状态为:所有配置均正常工作、某些配置需要关注以及某些配置无法工作。
访问有关工具的详细信息
当您想查看当前显示工具的更多详细信息时,可以在“设置类型”下选择特定的设置。
在屏幕左侧的“配置”下,您可以查看此设置类型执行的每次分析运行的信息以及任何相关的错误消息。要查看最近分析运行的详细信息,请在侧边栏中选择一个配置。您可以下载该代码扫描中确切运行了哪些规则以及每个规则发现了多少个警报的详细信息。有关更多信息,请参阅“下载所用规则列表”。
此视图还将显示错误消息。有关更多信息,请参阅“使用工具状态页面进行调试”。
CodeQL 如何定义已扫描的文件
如果某个文件的某些代码行已被处理,则该文件会被报告为 CodeQL 已扫描。如果您使用 CodeQL 操作的标准配置,则工具状态页面中显示的已扫描文件将包括 CodeQL 可以分析的所有语言的源代码文件。如果您使用高级设置,则可以选择使用paths
和paths-ignore
配置属性定义应扫描哪些解释型语言的文件。有关更多信息,请参阅“使用 CodeQL 进行代码扫描简介”和“自定义代码扫描的高级设置”。
对于编译型语言,工具状态页面会报告在运行自动构建或任何手动构建步骤之前存在的文件。这意味着在构建过程中生成的文件不会显示在工具状态页面中。有关更多信息,请参阅“编译型语言的 CodeQL 代码扫描”。
工具状态页面将计算 CodeQL 针对 CodeQL 支持的每种语言扫描的文件的百分比。此百分比会考虑paths
和paths-ignore
配置属性排除的任何文件。
下载已分析文件的详细信息
对于 CodeQL 等集成工具,您可以从工具状态页面以 CSV 格式下载详细报告。这将显示
- 用于扫描每个文件的配置。
- 文件路径。
- 文件的编程语言。
- 文件是否已成功提取。
要下载报告,请选择您感兴趣的工具。然后在页面右上方,点击按钮。
下载使用的规则列表
您可以以 CSV 格式下载代码扫描正在检查的规则列表。这将显示
- 使用的配置。
- 规则来源。
- SARIF 标识符。
- 发现的警报数量。
要下载报告,请选择您感兴趣的配置。然后点击页面右上方的,然后选择 下载使用的规则列表。
删除配置
您可以删除存储库默认分支的陈旧、重复或不需要的配置。
要删除配置,请选择要删除的配置。然后点击页面右上方的,然后选择 删除配置。阅读完有关警报的警告后,要确认删除操作,请点击“删除”按钮。
注意
您只能使用工具状态页面删除存储库默认分支的配置。有关从非默认分支删除配置的信息,请参阅“解决代码扫描警报”。
使用工具状态页面进行调试
如果您在代码扫描警报页面上看到分析存在问题,则可以使用工具状态页面来识别问题。对于集成工具,您可以在详细的信息部分看到与特定代码扫描工具相关的特定错误消息。这些错误消息包含有关工具可能无法按预期执行的原因以及您可以采取的操作的信息。有关如何访问工具状态页面的此部分的更多信息,请参阅“访问有关工具的详细信息”。
对于 CodeQL 等集成工具,您还可以使用文件覆盖率信息来改进分析。对于工具状态页面上显示的每种语言
- 如果该语言的扫描百分比较高,则表明代码扫描正在按预期扫描该语言。
- 如果该语言的扫描百分比较低,您可能需要调查 CodeQL 为该语言生成的诊断输出:有关更多信息,请参阅“CodeQL 扫描的行数少于预期”。
- 如果该语言的扫描百分比为零,则您的存储库中可能包含使用 CodeQL 支持的语言编写的源代码,但目前未使用 CodeQL 进行分析。在这种情况下,您可能需要更新您的设置以开始分析这些其他语言。有关更多信息,请参阅“自定义代码扫描的高级设置”。
注意
如果您使用高级设置设置了 CodeQL,然后在同一个存储库上设置了默认设置,则工具状态页面将仅显示默认设置。
有关更多信息,请参阅“代码扫描疑难解答”和“SARIF 上传疑难解答”。