Skip to main content

设置代码扫描合并保护

可以使用规则集为拉取请求设置 code scanning 合并保护。

谁可以使用此功能?

Code scanning 可用于 GitHub.com 上的所有公共存储库。 Code scanning 也可用于使用 GitHub Enterprise Cloud 并拥有 GitHub Advanced Security 许可证的组织所拥有的专用存储库。 有关详细信息,请参阅“关于 GitHub 高级安全性”。

关于对 code scanning 合并保护使用规则集

注意:

  • 此功能目前为 beta 版,可能会发生更改。
  • 规则集的合并保护与状态检查无关。 有关状态检查的详细信息,请参阅“关于状态检查”。

当满足以下条件之一时,可以使用规则集防止合并拉取请求:

  • 所需工具发现了一个 code scanning 警报,其严重性是在规则集中定义的。

  • 所需 code scanning 工具的分析仍在进行中。

  • 未为存储库配置所需的 code scanning 工具。

有关 code scanning 警报的详细信息,请参阅“关于代码扫描警报”。

可以在存储库level使用规则集设置合并保护,也可以为使用默认设置或高级设置配置的存储库设置合并保护。 还可以使用 REST API 通过规则集设置合并保护。

有关规则集的详细信息,请参阅“关于规则集”。

为存储库创建合并保护规则集

  1. 在 GitHub.com 上,导航到存储库的主页。

  2. 在存储库名称下,单击 “设置”。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。

    存储库标头的屏幕截图,其中显示了选项卡。 “设置”选项卡以深橙色边框突出显示。

  3. 在左侧边栏的“代码和自动化”下,单击“规则”,然后单击“规则集” 。

    存储库“设置”页边栏的屏幕截图。 “规则”子菜单已展开,“规则集”选项以橙色轮廓突出显示。

  4. 单击“添加规则集”。****

  5. 若要创建面向分支的规则集,请单击“新建分支规则集”。

  6. 在“规则集名称”下,键入规则集的名称。

  7. (可选)若要更改默认强制实施状态,请单击 “已禁用”**** 并选择强制实施状态。 有关强制状态的详细信息,请参阅“关于规则集”。

  8. 在“分支保护”下,选择“要求 code scanning 结果

  9. 在“所需工具和警报阈值”下,单击“ 添加工具”,然后选择包含下拉列表的 code scanning 工具。 例如,“CodeQL”。

  10. code scanning 工具的名称旁边:

    • 单击“警报”,然后选择“”、“错误”、“错误和警告”或“全部”。
    • 单击“安全警报”,然后选择“”、“严重”、“高或更高”、“”或“全部”。

    “规则集”设置的“所需工具和警报阈值”部分的屏幕截图。

有关警报严重性和安全严重性级别的详细信息,请参阅“关于代码扫描警报”。

有关管理存储库中的规则集的详细信息,请参阅“管理存储库的规则集”。

使用 REST API 创建合并保护规则集

可以使用 REST API 通过 code_scanning 规则创建规则集,以便定义特定工具和设置警报阈值。 有关详细信息,请参阅“规则的 REST API 终结点”。