Skip to main content
A API de varreduras de código permite iniciar varreduras, consultar seu status e ler resultados sem usar o app web. Todas as operações estão disponíveis em dois escopos, seguindo a mesma separação entre organização e Enterprise do restante da API v3:
  • Organização (/v3/organizations/{org_id}/code-scans/...) opera em uma única organização e exige a permissão de nível de organização UseCodeScans (gravação) ou ViewCodeScans (leitura).
  • Enterprise (/v3/enterprise/...) abrange todas as organizações da Enterprise e exige a permissão de nível Enterprise UseAccountCodeScans (gravação) ou ViewAccountCodeScans (leitura). Os endpoints de criação de varreduras e de remediação ainda recebem um org_id no caminho, pois uma varredura pertence a uma única organização.
Ambos os escopos usam uma Chave de API de usuário de serviço ou um token de acesso pessoal para autenticação e compartilham os mesmos formatos de requisição e resposta.

Endpoints

As mesmas operações também estão disponíveis nos caminhos /v3beta1/..., com formatos de requisição e resposta idênticos. A tabela abrange o fluxo de varredura; a especificação OpenAPI v3 também disponibiliza o agendamento do Auto Scan (POST .../code-scans/{scan_id}/auto-scan) e a reatribuição de perfil (PUT .../code-scans/{scan_id}/profile) em ambos os escopos. As etapas abaixo usam o escopo da organização; use os caminhos e as permissões do Enterprise se sua credencial tiver escopo de Enterprise.

Fluxo típico

1

Escolha um perfil (opcional)

Chame Listar perfis de varredura de código e escolha um perfil no modo discover. Omita o perfil para executar uma varredura de segurança padrão.
2

Inicie a varredura

A resposta é 201 e inclui o registro da varredura. Guarde o scan_id. Um 409 significa que o backlog de varreduras da organização está cheio; tente novamente mais tarde.
3

Consulte o status até a conclusão

Chame Listar varreduras de código (filtre por repo_name) até que o status da varredura seja completed (ou failed / cancelled). Considere esses três estados como finais. awaiting_user_input ocorre apenas em varreduras interativas iniciadas no app; as varreduras iniciadas pela API não são interativas e não entram nesse estado.
4

Leia os resultados

Chame Listar resultados de varredura de código com scan_id para percorrer os resultados por páginas, filtrando opcionalmente por severity e status.
5

Corrija

Chame Corrigir resultado da varredura de código para que o Devin abra uma PR que corrija um resultado.

Varreduras de ingestão

Para que o Devin faça a triagem dos resultados produzidos por outro scanner, crie um perfil no modo ingest no app web, importe o relatório do scanner por meio da API de anexos (um endpoint no escopo da organização que exige a permissão de organização UseDevinSessions, além das permissões de varredura de código) e, em seguida, chame Iniciar varredura de ingestão (ou o equivalente do Enterprise) com profile_id e attachment_urls.