Skip to main content
POST
启动数据摄取扫描

权限

需要服务用户或个人访问令牌,并且其具有企业级 UseAccountCodeScans 权限。

行为

将 摄取模式 代码扫描加入队列。摄取扫描不会从头开始发现问题,而是接收由其他来源生成的发现项 (例如 SAST 报告) ,并由 Devin 针对代码仓库对其进行分流和验证。扫描由扫描调度器异步启动,并归属于调用主体。

请求字段

repo_name 和 repos 必须且只能提供其中一个。
  • repo_name:完整的代码仓库名称,例如 owner/repo。
  • repos:单次多代码仓库扫描所覆盖的仓库,以对象列表形式提供,每个对象包含 repo_name 和可选的 host (最多 200 个) 。第一个条目即为该扫描的主代码仓库。
  • profile_id (必填) :ingest 模式的扫描 Profile。discover 模式的 Profile 会被拒绝,并返回 400。
  • host:代码仓库的 Git 主机;如果无法自动推断,则需要提供此字段。
  • attachment_urls:提供给扫描的 Devin 附件 URL (例如导出的扫描器报告) 。请先通过附件 API上传文件。
  • effort:normal (默认) 使用较低的模型推理强度,并以更大的批次执行分流和验证;deep 运行完整流水线。
  • platform:扫描会话的运行位置,可以是为该组织配置的平台标签 (例如 linux、windows 或 macos) ,也可以是 outpost 池的名称,不区分大小写。若某个名称同时匹配两者,则优先匹配平台。默认使用组织的默认设置。

错误

  • 当 profile_id 不属于摄取模式 Profile,或 platform 与任何已配置的平台标签或 outpost 池都不匹配时,返回 400 (错误响应体会列出可用值) 。
  • 当企业账户无权查看组织、代码仓库或 Profile 时,返回 404。
  • 当组织的扫描待办列表已满时,返回 409。请稍后重试。
  • 当 repo_name 和 repos 同时提供或均未提供,或 repos 为空时,返回 422。

授权

Authorization
string
header
必填

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

路径参数

org_id
string
必填

组织 ID(前缀:org-)

示例:

"org-abc123def456"

请求体

application/json

用于启动摄取模式代码扫描的请求体。

仅接受摄取(ingest-mode)扫描 Profile:该 Profile 会针对指定代码仓库(或多个仓库)运行。

profile_id
string
必填

要运行的摄取模式扫描 Profile。必须是摄取 Profile;非摄取 Profile 将被拒绝并返回 400。

attachment_urls
string<uri>[] | null

提供给扫描的 Devin 附件 URL,例如通过 attachments API 上传的文件。附件必须属于正在扫描的组织。

Maximum array length: 10
Required string length: 1 - 2083
effort
enum<string> | null

扫描强度:'normal'(默认)采用较低的扫描强度进行模型推理,并以较大的批次进行分流和验证;'deep' 运行完整流水线。

可用选项:
normal,
deep
host
string | null

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

platform
string | null

扫描会话的运行位置:为组织配置的平台标签(例如 'linux'、'windows'、'macos')或 outpost(BYOB)资源池的名称,不区分大小写;当名称同时匹配平台和资源池时,平台优先。省略时使用组织默认设置。无法识别的值会被拒绝,并返回 400 状态码,错误响应体中会列出可用的平台标签和 outpost 资源池名称。

Maximum string length: 128
repo_name
string | null

要扫描的代码仓库全名。repo_name 和 repos 必须提供且只能提供其中一个。

repos
ScanRepoRequest · object[] | null

一次扫描涵盖的仓库;第一项为该扫描的主代码仓库。repo_name 和 repos 必须提供且只能提供其中一个。

Maximum array length: 200

响应

成功响应

一次代码扫描。

created_at
integer
必填

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

effort
enum<string>
必填

扫描强度:'normal' 使用较低的模型推理强度,并以较大的批次进行调查;'deep' 运行完整流水线。

可用选项:
normal,
deep
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,
cleanup,
telemetry,
accessibility,
compliance,
general,
migration-docs
status
enum<string>
必填

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

可用选项:
waiting,
pending,
running,
awaiting_user_input,
completed,
failed,
cancelled
url
string
必填

Devin webapp 中扫描页面的 URL。

outpost_pool_id
string | null

运行扫描会话的 outpost 资源池(若已设置)。

platform
string | null

运行扫描会话的托管平台标签。扫描在 outpost 资源池或组织默认环境中运行时为 Null。

repo_full_name
string | null

包含主机名的主要代码仓库标识(例如 github.com/org/repo)。Perforce depot 没有 Git 主机,因此为 Null。