# 存储库属性 code scanning

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

## 先决条件

要使此处所述的存储库属性生效，需要设置 code scanning。 请参阅“[关于代码扫描的设置类型](/zh/code-security/concepts/code-scanning/setup-types)”。

必须为组织手动创建影响 code scanning 存储库属性。 然后，可以为它们设置应用于整个组织的值，或者允许为每个存储库单独配置这些值。 请参阅“[管理组织中存储库的自定义属性](/zh/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization)”。

## 在应用更改之前测试更改

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

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

## 支持的存储库属性 code scanning

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

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

| 名称                                   | 类型         |
| ------------------------------------ | ---------- |
|                                      |            |
| `github-codeql-config-file`          | 文本         |
|                                      |            |
| `github-codeql-extra-queries`        | 文本         |
| `github-codeql-disable-overlay`      | True/false |
| `github-codeql-file-coverage-on-prs` | True/false |

> \[!NOTE]
> 支持的存储库属性取决于分析使用的 [](https://github.com/github/codeql-action/)code scanning 版本。 对于 code scanning 高级设置，请检查工作流是否引用了最新的主版本。
> Code scanning 默认设置自动使用最新版本。

### 自定义配置文件

可以将属性设置为 `github-codeql-config-file` 配置文件的本地或远程路径。 此属性的接受值与 `config-file` 操作参数 `codeql-action/init` 的值相同。 有关接受的路径格式和配置文件的可能内容的详细信息，请参阅 [代码扫描的工作流配置选项](/zh/code-security/reference/code-scanning/workflow-configuration-options#custom-configuration-files)。

包含配置文件的存储库可以是公共、内部或专用的。 若要使用内部或专用存储库中的文件，而不是使用默认设置进行分析的文件，必须设置 *Git 源* 专用注册表配置。 建议将注册表 URL 设置为包含配置文件（而不是组织 URL）的存储库的完整 URL，以便凭据仅用于向该存储库发出的请求。 请参阅“[授予安全功能访问专用注册表的权限](/zh/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries)”。

高级设置不使用组织级专用注册表配置。 若要通过高级设置使用内部或专用存储库中的配置文件，请将可访问存储库的令牌传递给 `external-repository-token` 操作的 `codeql-action/init` 输入。 请参阅“[代码扫描的工作流配置选项](/zh/code-security/reference/code-scanning/workflow-configuration-options#custom-configuration-files)”。

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

使用 `github-codeql-config-file` 属性应用的自定义配置文件与默认设置自动生成的配置 code scanning 合并。
Code scanning 默认设置允许自定义用户界面中的一些分析设置，例如要使用的威胁模型或 CodeQL 模型包。 这些选择保留在合并的配置中：在默认设置 UI 中选择的威胁模型与配置文件中指定的任何威胁模型组合在一起，并在 UI 中配置模型包。有关默认设置中[](/zh/code-security/concepts/code-scanning/setup-types#configuration-options)可用配置选项的详细信息，请参阅 code scanning。

### 其他分析自定义

使用该 `github-codeql-extra-queries` 属性可以配置应运行的其他查询。 这对于向组织中的所有相关分析添加查询非常有用，无需修改单个工作流或切换到高级设置。 这接受与 `queries` 的输入相同的值[](https://github.com/github/codeql-action/)。 请参阅“[代码扫描的工作流配置选项](/zh/code-security/reference/code-scanning/workflow-configuration-options)”。

### 启用或禁用功能

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

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