Skip to main content
POST
Iniciar varredura de ingestão

Permissões

É necessário ter um usuário de serviço ou um token de acesso pessoal com a permissão UseAccountCodeScans no nível Enterprise.

Comportamento

Enfileira uma varredura de código no modo ingestão. Em vez de identificar problemas do zero, uma varredura de ingestão recebe resultados produzidos em outro lugar (por exemplo, um relatório SAST) e faz com que o Devin os faça a triagem e os valide em relação ao repositório. A varredura é iniciada de forma assíncrona pelo despachante de varreduras e atribuída ao principal que fez a chamada.

Campos da requisição

Forneça exatamente um entre repo_name ou repos.
  • repo_name: nome completo do repositório, por exemplo, owner/repo.
  • repos: repositórios abrangidos por uma única varredura de múltiplos 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 (obrigatório): um perfil de varredura no modo ingest. Um perfil no modo discover é rejeitado com 400.
  • host: host Git do repositório, caso não seja possível inferi-lo.
  • attachment_urls: URLs de anexos do Devin (por exemplo, um relatório exportado do scanner) a serem fornecidas para a varredura. Primeiro, importe os arquivos usando a API de anexos.
  • effort: normal (padrão) usa um nível de raciocínio do modelo mais baixo, com lotes maiores de triagem e validação; deep executa o pipeline completo.
  • platform: onde as sessões da varredura são executadas; pode ser 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. Se um nome corresponder a ambos, a plataforma tem prioridade. Por padrão, usa o valor padrão da organização.

Erros

  • 400 quando profile_id não corresponde a um perfil no modo de ingestão, ou quando platform não corresponde a nenhum rótulo de plataforma configurado nem a nenhum pool do outpost (o corpo do erro lista os valores disponíveis).
  • 404 quando a organização, o repositório ou o perfil não está visível para a conta Enterprise.
  • 409 quando o backlog de varreduras da organização está cheio. Tente novamente mais tarde.
  • 422 quando repo_name e repos são fornecidos ao mesmo tempo 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 varredura de código no modo de ingestão.

Aceita apenas um perfil de varredura no modo de ingestão (ingest-mode): o perfil é executado no repositório especificado (ou nos repositórios especificados).

profile_id
string
obrigatório

Perfil de varredura no modo de ingestão a ser executado. Deve ser um perfil de ingestão; perfis que não são de ingestão são rejeitados com 400.

attachment_urls
string<uri>[] | null

URLs de anexos do Devin a serem fornecidas à varredura, por exemplo, arquivos enviados pela API de anexos. Os anexos devem pertencer à organização analisada.

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

Esforço de varredura: 'normal' (padrão) usa um nível menor de esforço de raciocínio do modelo, com lotes maiores de triagem e validação; 'deep' executa o pipeline completo.

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

Host Git do repositório, se conhecido.

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 tanto a uma plataforma quanto a um pool. Se omitido, usa-se 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 de pools do outpost disponíveis.

Maximum string length: 128
repo_name
string | null

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

repos
ScanRepoRequest · object[] | null

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

Maximum array length: 200

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.