关于对 code scanning 合并保护使用规则集
Note
- 规则集的合并保护与状态检查无关。 有关状态检查的详细信息,请参阅“关于状态检查”。
- 与规则集的合并保护不适用于默认设置分析的合并队列组或 Dependabot 拉取请求。
当满足以下条件之一时,可以使用规则集防止合并拉取请求:
-
所需工具发现了一个 code scanning 警报,其严重性是在规则集中定义的。
-
所需 code scanning 工具的分析仍在进行中。
-
未为存储库配置所需的 code scanning 工具。
通常,应使用规则集,以长期功能分支为目标,其中你希望保证在能够合并拉取请求之前已对代码进行分析。
配置code scanning规则不会自动启用code scanning。 有关如何启用代码扫描的详细信息,请参阅“配置代码扫描的默认设置”。
有关 code scanning 警报的详细信息,请参阅“关于代码扫描警报”。
可以在存储库或组织级别使用规则集设置合并保护,也可以为使用默认设置或高级设置配置的存储库设置合并保护。 还可以使用 REST API 通过规则集设置合并保护。
有关规则集的详细信息,请参阅“关于规则集”。
为存储库创建合并保护规则集
-
在 GitHub 上,导航到存储库的主页面。
-
在存储库名称下,单击 “设置”。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。
-
在左侧边栏的“代码和自动化”下,单击“规则”,然后单击“规则集” 。
-
单击“添加规则集”。****
-
若要创建面向分支的规则集,请单击“新建分支规则集”。
-
在“规则集名称”下,键入规则集的名称。
-
(可选)若要更改默认强制实施状态,请单击 “已禁用”**** 并选择强制实施状态。 有关强制状态的详细信息,请参阅“关于规则集”。
-
在“分支保护”下,选择“要求 code scanning 结果。
-
在“Required tools and alert thresholds”下,单击“Add tool”****,然后从下拉列表中选择 code scanning 工具。 例如,“CodeQL”。
-
code scanning 工具的名称旁边:
- 单击“警报”,然后选择“无”、“错误”、“错误和警告”或“全部”。
- 单击“安全警报”,然后选择“无”、“严重”、“高或更高”、“中”或“全部”。
有关警报严重性和安全严重性级别的详细信息,请参阅“关于代码扫描警报”。
有关管理存储库中的规则集的详细信息,请参阅“管理存储库的规则集”。
为组织中的所有存储库创建合并保护规则集
-
在 GitHub 的右上角,选择个人资料照片,然后单击 “你的组织”。
-
在组织旁边,单击“设置”。
-
在左侧边栏的“代码、规划和自动化”部分,单击“ 存储库”,然后单击“规则集”。********
-
单击“添加规则集”。****
-
若要创建面向分支的规则集,请单击“新建分支规则集”。
-
在“规则集名称”下,键入规则集的名称。
-
(可选)若要更改默认强制实施状态,请单击 “已禁用”**** 并选择强制实施状态。 有关强制状态的详细信息,请参阅“关于规则集”。
-
在“分支保护”下,选择“要求 code scanning 结果。
-
在“Required tools and alert thresholds”下,单击“Add tool”****,然后从下拉列表中选择 code scanning 工具。 例如,“CodeQL”。
-
code scanning 工具的名称旁边:
- 单击“警报”,然后选择“无”、“错误”、“错误和警告”或“全部”。
- 单击“安全警报”,然后选择“无”、“严重”、“高或更高”、“中”或“全部”。
有关警报严重性和安全严重性级别的详细信息,请参阅“关于代码扫描警报”。
有关管理组织中存储库的规则集的详细信息,请参阅“管理组织中存储库的规则集”。
使用 REST API 创建合并保护规则集
可以使用 REST API 通过 code_scanning
规则创建规则集,以便定义特定工具和设置警报阈值。 有关详细信息,请参阅“规则的 REST API 终结点”。