Skip to main content

存储库正在使用现有高级设置进行代码扫描

尝试将启用了默认代码扫描的 security configuration 附加到对代码扫描使用高级设置的存储库时出现错误。

谁可以使用此功能?

具有管理员角色的组织所有者、安全管理员和组织成员

关于问题

无法成功将 code scanning 默认设置为“Enabled”的 security configuration 应用到对 code scanning 使用高级设置的目标存储库。 高级设置均根据存储库的特定安全需求定制,因此不应大规模重写这些设置。

如果尝试将 code scanning 设置为“Enabled”的 security configuration 附加到已使用高级设置的存储库,则安全设置将按如下方式应用:

  • 不会启用 Code scanning 默认设置,高级设置会继续正常运行。****
  • 将启用配置中启用的其他所有安全功能。****
  • security configuration 不会附加到存储库,因为仅启用了配置中的某些功能。****

对于没有处于活动状态的高级设置的所有存储库,将会按照预期应用 security configuration,并将会启用 code scanning 默认设置。

注意

如果存储库的高级设置被视为处于非活动状态,则仍会为该存储库启用默认设置__。 如果存储库满足以下任一条件,则存储库的高级设置将被视为处于非活动状态:

  • 最新的 CodeQL 分析已超过 90 天
  • 所有 CodeQL 配置均已删除
  • 工作流文件已被删除或禁用(仅适用于基于 YAML 的高级设置)

解决问题

有三种方法可以解决此问题:

  1. 在 security configuration 中将“Default setup”选项从“Enabled”更改为“Enabled with advanced setup allowed"。**** 选项从 GitHub Enterprise Server 3.19 开始可用。 编辑 security configuration 后,将其重新应用到存储库。 有关详细信息,请参阅“删除自定义安全配置”。
  2. 更新受影响的存储库,以便在存储库级别对 code scanning 使用默认设置,然后将 security configuration 重新应用到存储库。**** 有关详细信息,请参阅“配置代码扫描的默认设置”。
  3. 创建新的自定义 security configuration,并且其中不包含 code scanning 的设置,然后将此 security configuration 应用于使用高级设置的存储库。**** 有关详细信息,请参阅“删除自定义安全配置”。