Skip to main content
POST
Iniciar varredura de código

Permissões

Requer um usuário de serviço ou um token de acesso pessoal com a permissão UseCodeScans no nível da organização.

Comportamento

Enfileira uma nova varredura de código para o repositório informado (repo_name) ou para os repositórios informados (repos) na organização. A varredura é iniciada de forma assíncrona pelo despachante de varreduras; a resposta é o registro da varredura, com status inicial waiting ou pending. Consulte List Code Scans para acompanhar o progresso e List Code Scan Findings (filtrada por scan_id) para ler os resultados quando a varredura atingir completed. A varredura é atribuída ao principal que fez a chamada (o usuário de serviço ou PAT que fez a requisição). O equivalente no escopo Enterprise é Iniciar varredura de código (Enterprise).

Campos da requisição

Informe exatamente um dos campos: repo_name ou repos.
  • repo_name: nome completo do repositório, por exemplo, owner/repo. O repositório já deve estar acessível pela integração Git da organização.
  • host: host Git do repositório, caso não possa ser inferido.
  • repos: repositórios abrangidos por uma única varredura de vários repositórios, na forma de uma lista de objetos com repo_name e um host opcional (até 200). A primeira entrada é o repositório principal da varredura.
  • profile_id: um perfil de varredura a ser aplicado. Use Iniciar varredura de ingestão para perfis no modo ingest.
  • scan_type: tipo de varredura a ser executada. Deve corresponder ao tipo de varredura do perfil quando profile_id for informado. Por padrão, usa o tipo do perfil ou security para varreduras sem perfil. Tipos de varredura que não são de Security exigem um perfil.
  • commit_sha: commit a ser usado antes da varredura. Por padrão, usa o commit mais recente da branch padrão do repositório.
  • effort: normal (padrão) usa menor esforço de raciocínio do modelo, com lotes de investigação maiores; deep executa o pipeline completo.
  • interactive: quando true, a varredura fica pausada em awaiting_user_input para revisão do usuário entre a modelagem de ameaças e a investigação. O padrão é false. Apenas varreduras de Security oferecem suporte à revisão interativa; os demais tipos de varredura são executados sem supervisão.
  • platform: onde as sessões da varredura são executadas: um rótulo de plataforma configurado para a organização (por exemplo, linux, windows ou macos) ou o nome de um pool do outpost, sem diferenciar maiúsculas de minúsculas. As plataformas têm prioridade quando um nome corresponde aos dois. O padrão é o definido para a organização.

Erros

  • 400 quando scan_type conflita com o perfil, quando um scan_type diferente de Security é fornecido sem um perfil ou quando platform não corresponde a um rótulo de plataforma configurado nem a um pool do outpost (o corpo do erro lista os valores disponíveis).
  • 403 quando a organização está restrita a varreduras somente de ingestion e nenhum perfil no modo ingest é fornecido.
  • 404 quando o repositório ou o perfil não está visível para a organização.
  • 409 quando o backlog de varreduras da organização atinge a capacidade máxima. Tente novamente mais tarde.
  • 422 quando repo_name e repos são fornecidos juntos ou nenhum dos dois é fornecido, ou quando repos está vazio.

Autorizações

Authorization
string
header
obrigatório

Credencial de usuário de serviço (prefixo: cog_)

Parâmetros de caminho

org_id
string
obrigatório

ID da organização (prefixo: org-)

Exemplo:

"org-abc123def456"

Corpo

application/json

Corpo da requisição para iniciar uma nova varredura de código.

commit_sha
string | null

Commit do qual fazer checkout antes da varredura.

effort
enum<string> | null

Esforço da varredura: 'normal' (padrão) usa um esforço de raciocínio menor do modelo com lotes de investigação maiores; 'deep' executa o pipeline completo.

Opções disponíveis:
normal,
deep
host
string | null

Servidor Git do repositório, se conhecido.

interactive
boolean
padrão:false

Quando true, a varredura é pausada para revisão pelo usuário entre a modelagem de ameaças e a investigação.

new_budget
NewScanBudget · object | null

Atribua à varredura um orçamento próprio de ACU. Requer as permissões ManageAccountServiceUsers e ManageAcuLimits.

platform
string | null

Onde as sessões da varredura são executadas: um rótulo de plataforma configurado para a organização (por exemplo, 'linux', 'windows', 'macos') ou o nome de um pool do outpost (BYOB), sem distinção entre maiúsculas e minúsculas; as plataformas têm prioridade quando um nome corresponde a ambos. Quando omitido, usa o padrão da organização. Valores não reconhecidos são rejeitados com um erro 400 cujo corpo lista os rótulos de plataforma e os nomes dos pools do outpost disponíveis.

Maximum string length: 128
profile_id
string | null

Perfil de varredura a ser aplicado à varredura.

repo_name
string | null

Nome completo do repositório a ser analisado na varredura. Forneça exatamente um dos campos repo_name ou repos.

repos
ScanRepoRequest · object[] | null

Repositórios abrangidos por uma varredura; a primeira entrada é o repositório principal da varredura. Forneça exatamente um dos campos repo_name ou repos.

Maximum array length: 200
scan_type
enum<string> | null

Tipo de varredura a executar. Quando um perfil for fornecido, deve corresponder ao tipo de varredura desse perfil. O padrão é o tipo do perfil ou 'security' para varreduras sem perfil. Tipos diferentes de 'security' exigem um perfil e são rejeitados sem ele.

Opções disponíveis:
security,
performance,
db-queries,
test-coverage,
dead-code,
code-quality,
cleanup,
telemetry,
accessibility,
compliance,
general,
migration-docs

Resposta

Resposta bem-sucedida

Uma única varredura de código.

created_at
integer
obrigatório

Quando a varredura foi criada (segundos Unix).

effort
enum<string>
obrigatório

Esforço da varredura: 'normal' usa um nível menor de esforço de raciocínio do modelo e lotes maiores de investigação; 'deep' executa o pipeline completo.

Opções disponíveis:
normal,
deep
host
string | null
obrigatório

Host Git do repositório, se conhecido.

org_id
string
obrigatório

Organização à qual a varredura pertence.

profile
CodeScanProfileResponse · object | null
obrigatório

Perfil sob o qual a varredura foi executada, se houver.

repo_name
string
obrigatório

Repositório principal da varredura. Varreduras com vários repositórios abrangem repositórios adicionais não listados aqui.

scan_id
string
obrigatório

Identificador único da varredura.

scan_type
enum<string>
obrigatório

Tipo de varredura, definido na criação.

Opções disponíveis:
security,
performance,
db-queries,
test-coverage,
dead-code,
code-quality,
cleanup,
telemetry,
accessibility,
compliance,
general,
migration-docs
status
enum<string>
obrigatório

Status da varredura: waiting, pending, running, awaiting_user_input, completed, failed ou cancelled.

Opções disponíveis:
waiting,
pending,
running,
awaiting_user_input,
completed,
failed,
cancelled
url
string
obrigatório

URL da página da varredura no webapp do Devin.

outpost_pool_id
string | null

Pool do outpost em que as sessões da varredura são executadas, se definido.

platform
string | null

Rótulo da plataforma hospedada em que as sessões da varredura são executadas. Null quando a varredura é executada em um pool do outpost ou usa o padrão da organização.

repo_full_name
string | null

Identidade do repositório principal qualificada pelo host (por exemplo, github.com/org/repo). Null para depósitos Perforce, que não têm servidor Git.