Skip to main content
POST
Iniciar análisis de ingesta

Permisos

Requiere un usuario de servicio o un token de acceso personal con el permiso UseCodeScans a nivel de organización.

Comportamiento

Pone en cola un análisis de código en modo de ingesta. En lugar de detectar problemas desde cero, un análisis de ingesta utiliza hallazgos generados en otro lugar (por ejemplo, un informe SAST) y hace que Devin los clasifique y valide en el repositorio. El análisis se inicia de forma asíncrona mediante el distribuidor de análisis y se atribuye al principal que realiza la llamada. El equivalente en el ámbito de Enterprise es Iniciar análisis de ingesta (Enterprise).

Campos de la solicitud

Proporciona exactamente uno de repo_name o repos.
  • repo_name: nombre completo del repositorio; por ejemplo, owner/repo.
  • repos: repositorios incluidos en un único análisis multirrepositorio, como una lista de objetos con repo_name y un host opcional (hasta 200). La primera entrada es el repositorio principal del análisis.
  • profile_id (obligatorio): un perfil de análisis en modo ingest. Se rechazarán con 400 los perfiles en modo discover.
  • host: host de Git del repositorio, si no puede inferirse.
  • attachment_urls: URL de archivos adjuntos de Devin (por ejemplo, un informe exportado de un escáner) que se proporcionarán al análisis. Primero, sube los archivos mediante la API de archivos adjuntos, que requiere el permiso UseDevinSessions.
  • effort: normal (predeterminado) usa un menor esfuerzo de razonamiento del modelo con lotes de triaje y validación más grandes; deep ejecuta el proceso completo.
  • platform: dónde se ejecutan las sesiones del análisis. Puede ser una etiqueta de plataforma configurada para la organización (por ejemplo, linux, windows o macos) o el nombre de un pool de outpost, sin distinguir entre mayúsculas y minúsculas. Si un nombre coincide con ambos, tiene prioridad la plataforma. Si no se indica, se usa el valor predeterminado de la organización.

Errores

  • 400 cuando profile_id no corresponde a un perfil en modo de ingesta, o cuando platform no coincide con ninguna etiqueta de plataforma configurada ni con ningún pool de outpost (el cuerpo del error enumera los valores disponibles).
  • 404 cuando el repositorio o el perfil no es visible para la organización.
  • 409 cuando el backlog de análisis de la organización ha alcanzado su capacidad máxima. Vuelve a intentarlo más tarde.
  • 422 cuando se proporcionan tanto repo_name como repos, o ninguno de los dos, o cuando repos está vacío.

Autorizaciones

Authorization
string
header
requerido

Credencial de usuario de servicio (prefijo: cog_)

Parámetros de ruta

org_id
string
requerido

ID de la organización (prefijo: org-)

Ejemplo:

"org-abc123def456"

Cuerpo

application/json

Cuerpo de la solicitud para iniciar un análisis de código en modo de ingesta.

Solo se acepta un perfil de análisis de ingesta (modo de ingesta): el perfil se ejecuta en el repositorio especificado (o los repositorios especificados).

profile_id
string
requerido

Perfil de análisis en modo de ingesta que se ejecutará. Debe ser un perfil de ingesta; los perfiles que no son de ingesta se rechazan con 400.

attachment_urls
string<uri>[] | null

URL de archivos adjuntos de Devin que se proporcionarán al análisis, p. ej., archivos subidos mediante la API de archivos adjuntos. Los archivos adjuntos deben pertenecer a la organización que se analiza.

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

Nivel de esfuerzo del análisis: 'normal' (predeterminado) utiliza un menor esfuerzo de razonamiento del modelo y lotes más grandes de triaje y validación; 'deep' ejecuta el proceso completo.

Opciones disponibles:
normal,
deep
host
string | null

Servidor Git del repositorio, si se conoce.

platform
string | null

Dónde se ejecutan las sesiones del análisis: una etiqueta de plataforma configurada para la organización (p. ej., 'linux', 'windows', 'macos') o el nombre de un pool de outposts (BYOB), sin distinguir entre mayúsculas y minúsculas; las plataformas tienen prioridad cuando un nombre coincide tanto con una plataforma como con un pool. Si se omite, se utiliza el valor predeterminado de la organización. Los valores no reconocidos se rechazan con un código 400 cuyo cuerpo de respuesta enumera las etiquetas de plataforma y los nombres de pools de outposts disponibles.

Maximum string length: 128
repo_name
string | null

Nombre completo del repositorio que se analizará. Proporcione solo uno de los dos campos: repo_name o repos.

repos
ScanRepoRequest · object[] | null

Repositorios incluidos en un mismo análisis; la primera entrada es el repositorio principal del análisis. Proporcione solo uno de los dos campos: repo_name o repos.

Maximum array length: 200

Respuesta

Respuesta satisfactoria

Un análisis de código individual.

created_at
integer
requerido

Momento en que se creó el análisis (segundos Unix).

effort
enum<string>
requerido

Nivel de esfuerzo del análisis: 'normal' utiliza un nivel de esfuerzo de razonamiento del modelo más bajo y lotes de investigación más grandes; 'deep' ejecuta el proceso completo.

Opciones disponibles:
normal,
deep
host
string | null
requerido

Host de Git del repositorio, si se conoce.

org_id
string
requerido

Organización a la que pertenece el análisis.

profile
CodeScanProfileResponse · object | null
requerido

Perfil con el que se ejecutó el análisis, si corresponde.

repo_name
string
requerido

Repositorio principal del análisis. Los análisis de varios repositorios abarcan repositorios adicionales que no se enumeran aquí.

scan_id
string
requerido

Identificador único del análisis.

scan_type
enum<string>
requerido

Tipo de análisis, establecido al crearlo.

Opciones disponibles:
security,
performance,
db-queries,
test-coverage,
dead-code,
code-quality,
cleanup,
telemetry,
accessibility,
compliance,
general,
migration-docs
status
enum<string>
requerido

Estado del análisis: waiting, pending, running, awaiting_user_input, completed, failed o cancelled.

Opciones disponibles:
waiting,
pending,
running,
awaiting_user_input,
completed,
failed,
cancelled
url
string
requerido

URL de la página del análisis en la webapp de Devin.

outpost_pool_id
string | null

Pool de outposts en el que se ejecutan las sesiones del análisis, si se ha configurado uno.

platform
string | null

Etiqueta de la plataforma alojada en la que se ejecutan las sesiones del análisis. Null cuando el análisis se ejecuta en un pool de outposts o con la configuración predeterminada de la organización.

repo_full_name
string | null

Identidad del repositorio principal que incluye el host (p. ej., github.com/org/repo). Null para los depósitos de Perforce, que no tienen un host de Git.