Skip to main content
POST
启动代码扫描

权限

需要服务用户个人访问令牌,并在企业级别拥有 UseAccountCodeScans 权限。

行为

将给定组织中 repo_name 的新代码扫描加入队列。扫描调度程序会异步启动扫描;响应中返回扫描记录,其初始 statuswaitingpending。轮询 列出代码扫描 以跟踪进度,并在扫描状态变为 completed 后,通过 列出代码扫描发现项 (按 scan_id 过滤) 查看结果。 该扫描归属于调用主体 (即发出请求的服务用户或 PAT) 。

请求字段

  • repo_name (必填) :完整的代码仓库名称,例如 owner/repo。该代码仓库必须已可通过组织的 Git 集成访问。
  • host:代码仓库的 Git 主机 (如无法自动推断) 。
  • profile_id:要应用的扫描 Profile。对于 ingest 模式的 Profile,请使用启动摄取扫描
  • scan_type:要运行的扫描类型。提供 profile_id 时,必须与该 Profile 的扫描类型一致。默认为 Profile 的类型;未指定 Profile 时,默认为 security。非安全扫描类型必须指定 Profile。
  • commit_sha:扫描前要检出的提交。默认为代码仓库默认分支的最新提交。

错误

  • scan_type 与 Profile 不匹配,或未提供 Profile 却指定了非安全类 scan_type 时,返回 400
  • 当组织仅允许仅摄取扫描,且未提供 ingest 模式的 Profile 时,返回 403
  • 当企业账户无权查看组织、代码仓库或 Profile 时,返回 404
  • 当组织的扫描待办列表已满时,返回 409。请稍后重试。

授权

Authorization
string
header
必填

服务用户凭据(前缀:cog_)

路径参数

org_id
string
必填

组织 ID(前缀:org-)

示例:

"org-abc123def456"

请求体

application/json

用于启动新代码扫描的请求正文。

repo_name
string
必填

要扫描的代码仓库全名。

commit_sha
string | null

扫描前要检出的提交。

host
string | null

代码仓库的 Git 主机(如果已知)。

profile_id
string | null

要应用于此次扫描的扫描 Profile。

scan_type
enum<string> | null

要运行的扫描类型。指定 Profile 时必须与该 Profile 的扫描类型匹配;默认使用该 Profile 的类型,未指定 Profile 的扫描则默认为 'security'。非安全类型必须指定 Profile,否则会被拒绝。

可用选项:
security,
performance,
db-queries,
test-coverage,
dead-code,
code-quality,
telemetry,
accessibility,
general,
migration-docs

响应

成功响应

一次代码扫描。

created_at
integer
必填

扫描的创建时间(Unix 秒)。

host
string | null
必填

代码仓库的 Git 托管平台(如已知)。

org_id
string
必填

该扫描所属的组织。

profile
CodeScanProfileResponse · object | null
必填

扫描所使用的 Profile(如有)。

repo_name
string
必填

扫描的主代码仓库。多代码仓库扫描还会涵盖此处未列出的其他代码仓库。

scan_id
string
必填

扫描的唯一标识符。

scan_type
enum<string>
必填

扫描类型,在创建时确定。

可用选项:
security,
performance,
db-queries,
test-coverage,
dead-code,
code-quality,
telemetry,
accessibility,
general,
migration-docs
status
enum<string>
必填

扫描状态:waiting、pending、running、awaiting_user_input、completed、failed 或 cancelled。

可用选项:
waiting,
pending,
running,
awaiting_user_input,
completed,
failed,
cancelled