Skip to main content

存储库属性 code scanning

可以使用存储库属性来 code scanning 调整以满足你的需求。

先决条件

要使此处所述的存储库属性生效,需要设置 code scanning。 请参阅“关于代码扫描的设置类型”。

必须为组织手动创建影响 code scanning 存储库属性。 然后,可以为它们设置应用于整个组织的值,或者允许为每个存储库单独配置这些值。 请参阅“管理组织中存储库的自定义属性”。

在应用更改之前测试更改

在向整个组织推出配置之前,你可能希望测试通过存储库属性应用的配置是否具有所需的效果。 可以将存储库属性设置为各个存储库的特定值。 如果首次配置存储库属性,请为组织创建它,但不要将其设置为值。 而是将其设置为特定测试存储库的值,可在其中首先验证更改。 在测试存储库上验证后,可以为整个组织或所需的存储库设置值。

更改支持的存储库属性的值时,可以使用相同的方法。 重写或设置测试存储库的存储库属性的值,验证更改,然后将其推出到组织或其他存储库。

支持的存储库属性 code scanning

可以使用存储库属性配置某些 code scanning 功能。 组织可以使用存储库属性跨所有存储库和单个存储库强制实施配置。 如果使用 code scanning 存储库属性进行自定义,则自定义将应用于所有设置类型。

以下是可以设置的存储库属性的概述,这些属性会影响 code scanning 配置时的分析:

名称类型
github-codeql-config-file文本
github-codeql-extra-queries文本
github-codeql-disable-overlayTrue/false
github-codeql-file-coverage-on-prsTrue/false
github-codeql-tools文本

注意

支持的存储库属性取决于分析使用的 code scanninggithub/codeql-action 版本。 对于 code scanning 高级设置,请检查工作流是否引用了最新的主版本。 Code scanning 默认设置自动使用最新版本。

自定义配置文件

可以将属性设置为 github-codeql-config-file 配置文件的本地或远程路径。 此属性的接受值与 config-file 操作参数 codeql-action/init 的值相同。 有关接受的路径格式和配置文件的可能内容的详细信息,请参阅 代码扫描的工作流配置选项

github-codeql-config-file 属性指定的值将同时 code scanning 应用于默认设置和 code scanning 高级设置。 如果高级安装工作流指定操作参数的codeql-action/init显式输入,则该输入config-file将优先于存储库属性中配置的值。 这样,高级工作流就可以根据需要使用与应用于默认设置工作流不同的配置。

使用 github-codeql-config-file 属性应用的自定义配置文件与默认设置自动生成的配置 code scanning 合并。 Code scanning 默认设置允许自定义用户界面中的一些分析设置,例如要使用的威胁模型或 CodeQL 模型包。 这些选择保留在合并的配置中:在默认设置 UI 中选择的威胁模型与配置文件中指定的任何威胁模型组合在一起,并在 UI 中配置模型包。有关默认设置中code scanning可用配置选项的详细信息,请参阅 关于代码扫描的设置类型

其他分析自定义

使用该 github-codeql-extra-queries 属性可以配置应运行的其他查询。 这对于向组织中的所有相关分析添加查询非常有用,无需修改单个工作流或切换到高级设置。 这接受与 queries 的输入相同的值。 请参阅“代码扫描的工作流配置选项”。

默认情况下, code scanning 分析使用最新版本的 CodeQL。 通常不建议更改此问题,除非你遇到通过切换到其他版本来解决的特定问题。 如果需要更改此项,该 github-codeql-tools 属性允许指定其他版本。

如果高级安装工作流指定操作参数的codeql-action/init显式输入,则该输入tools将优先于存储库属性中配置的值。 这样,高级工作流就可以根据需要使用与应用于默认设置工作流不同的配置。 若要将存储库属性的值强制实施到高级设置工作流,即使它们具有显式 tools 输入,请向存储库属性的值添加前缀 ! 。 例如, !nightly 强制所有工作流使用最新版本 nightly

启用或禁用功能

可以通过将属性设置为 github-codeql-disable-overlay 来禁用改进的true增量分析。 如果由于硬件要求增加而改进的增量分析失败,这可能很有用。

对于拉取请求的分析,不计算文件覆盖信息。 如果要为拉取请求启用文件覆盖信息,可以将 github-codeql-file-coverage-on-prs 属性设置为 true