Skip to main content

Análisis con tecnología CodeQL para la calidad del código

Información sobre cómo funciona el análisis con tecnología CodeQL de Code Quality, el flujo de trabajo utilizado y las comprobaciones de estado notificadas en los pull requests.

Nota:

GitHub Code Quality está actualmente en versión preliminar pública y sujeto a cambios. Durante versión preliminar pública, Code Quality no se facturará, aunque los escaneos de Code Quality consumirán minutos de GitHub Actions.

Análisis impulsado por CodeQL

          Code Quality usa CodeQL para realizar un análisis basado en reglas de las solicitudes de incorporación de cambios y su rama predeterminada.
  • Los resultados de la rama predeterminada aparecen en el panel "Conclusiones estándar" en la pestaña Security and quality del repositorio.

  • Los resultados en pull requests aparecen como comentarios realizados por github-code-quality[bot].

            Autofix de Copilot se proporcionan sugerencias para encontrar los resultados siempre que sea posible.
    

Listas de consultas para idiomas admitidos

Cada Code Quality regla se escribe como una consulta en CodeQL y, a continuación, se ejecuta mediante GitHub Actions.

Las reglas se refinan continuamente tanto por GitHub como por los desarrolladores de código abierto.

  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/csharp-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/go-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/java-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/javascript-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/python-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/ruby-queries)
    

Para obtener más información sobre el CodeQL proyecto, vea https://codeql.github.com/.

Flujo de trabajo usado para el análisis de calidad de código

Puede ver todas las ejecuciones de flujo de trabajo para Code Quality en la pestaña Acciones del repositorio. El flujo de trabajo dinámico se denomina "Calidad del código".

De forma predeterminada, el Calidad del código flujo de trabajo se ejecuta en ejecutores estándar GitHub , pero puede configurar Code Quality para usar ejecutores con una etiqueta específica. Estos pueden ser hospedados por GitHub o autohospedados.

Si su organización ha configurado el almacenamiento en caché de registros privados, estos estarán disponibles para el análisis de calidad del código que se usará para resolver las dependencias.

Para obtener más información, consulte:

  •         [AUTOTITLE](/code-security/code-quality/how-tos/enable-code-quality)
    
  •         [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/giving-org-access-private-registries#code-quality-access-to-private-registries)
    

Estado de comprobación de solicitud de incorporación de cambios

Cuando el análisis de calidad del código se ejecuta en una solicitud de incorporación de cambios, la comprobación "CodeQL: calidad del código / Analyze" se muestra en la sección "Comprobaciones" en la parte inferior de la solicitud de incorporación de cambios.

Los problemas de código identificados por el examen se notifican en los comentarios de la solicitud de incorporación de cambios. El comentario se realiza mediante github-code-quality[bot] e incluye una Autofix de Copilot sugerencia.

Errores de comprobación de estado

No se pudo ejecutar el flujo de trabajo. Por ejemplo, se ha agotado su presupuesto de minutos para acciones. Consulte Visualización de registros para diagnosticar errores.

La combinación está bloqueada: se detectaron problemas de calidad del código

El análisis encontró problemas en el código que superan el umbral de calidad establecido por una regla de calidad de código de la rama para el repositorio. Debe resolver estos problemas para poder fusionar el pull request. Consulta Resolución de un bloqueo en la solicitud de extracción.