能否通过GitHub REST API在各类GitHub账号中启停仓库CodeQL代码扫描?
能否通过GitHub REST API启停不同账号类型下仓库的CodeQL代码扫描?
可以通过GitHub REST API在个人、组织、企业账号的仓库中启用或禁用CodeQL代码扫描,但相关接口不在你参考的Code Scanning板块文档里,而是归类在仓库的安全设置相关接口中。
核心操作方式
控制默认CodeQL自动分析
使用PUT /repos/{owner}/{repo}/security-and-analysis/code-scanning/default-setup接口,通过state参数直接启停:- 设置
state: "enabled"启用默认CodeQL扫描(可同时指定目标语言、查询套件等参数) - 设置
state: "disabled"禁用默认CodeQL扫描
示例curl请求(启用):
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <你的访问令牌>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/security-and-analysis/code-scanning/default-setup \ -d '{"state":"enabled","query_suite":"default","language":"python"}'该接口对个人、组织、企业账号下的仓库均适用,前提是你拥有仓库的管理员权限。
- 设置
自定义CodeQL工作流的启停
如果你的仓库使用自定义CodeQL工作流文件(而非GitHub默认自动分析),则需要通过API管理工作流本身:- 可以用仓库内容接口添加/删除工作流文件(如
.github/workflows/codeql.yml) - 或者用工作流接口禁用/启用指定工作流
- 可以用仓库内容接口添加/删除工作流文件(如
为什么在参考文档中找不到?
因为默认CodeQL扫描的配置接口被归类在GitHub REST API的Security and Analysis板块下,而非你查看的Code Scanning核心接口文档中。
内容的提问来源于stack exchange,提问作者archit
相关产品推荐
相关产品推荐

