Skip to main content
POST
Iniciar análisis de código

Permisos

Requiere un usuario de servicio o un token de acceso personal con el permiso UseAccountCodeScans en el nivel empresarial.

Comportamiento

Pone en cola un nuevo análisis de código de repo_name en la organización indicada. El análisis se inicia de forma asíncrona mediante el despachador de análisis; la respuesta es el registro del análisis con un status inicial de waiting o pending. Consulte periódicamente List Code Scans para seguir el progreso y List Code Scan Findings (filtrado por scan_id) para consultar los resultados cuando el análisis alcance el estado completed. El análisis se atribuye al principal que realiza la llamada (el usuario de servicio o PAT que realizó la solicitud).

Campos de la solicitud

  • repo_name (obligatorio): nombre completo del repositorio; por ejemplo, owner/repo. El repositorio ya debe ser accesible mediante la integración de Git de la organización.
  • host: host de Git del repositorio, si no se puede inferir.
  • profile_id: un perfil de análisis que se aplicará. Use Start Ingestion Scan para perfiles en modo ingest.
  • scan_type: tipo de análisis que se ejecutará. Debe coincidir con el tipo de análisis del perfil cuando se proporciona profile_id. De forma predeterminada, usa el tipo del perfil o security para análisis sin perfil. Los tipos de análisis distintos de los de seguridad requieren un perfil.
  • commit_sha: commit que se extraerá antes del análisis. De forma predeterminada, usa la cabecera de la rama predeterminada del repositorio.

Errores

  • 400 cuando scan_type entra en conflicto con el perfil o se proporciona un scan_type que no es de seguridad sin un perfil.
  • 403 cuando la organización está restringida a escaneos de solo ingesta y no se proporciona un perfil en modo ingest.
  • 404 cuando la organización, el repositorio o el perfil no son visibles para la cuenta Enterprise.
  • 409 cuando el backlog de escaneos de la organización está lleno. Vuelve a intentarlo más tarde.

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 nuevo análisis de código.

repo_name
string
requerido

Nombre completo del repositorio que se va a analizar.

commit_sha
string | null

Commit que se debe extraer antes de ejecutar el análisis.

host
string | null

Host de Git del repositorio, si se conoce.

profile_id
string | null

Perfil de análisis que se aplicará al análisis.

scan_type
enum<string> | null

Tipo de análisis que se ejecutará. Debe coincidir con el tipo de análisis del perfil cuando se proporciona un perfil; de forma predeterminada, se usa el tipo del perfil o 'security' para análisis sin perfil. Los tipos que no son de seguridad requieren un perfil y se rechazan sin uno.

Opciones disponibles:
security,
performance,
db-queries,
test-coverage,
dead-code,
code-quality,
telemetry,
accessibility,
general,
migration-docs

Respuesta

Respuesta satisfactoria

Un análisis de código individual.

created_at
integer
requerido

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

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,
telemetry,
accessibility,
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