Skip to main content

Esta versión de GitHub Enterprise Server se discontinuará el 2026-03-17. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Cómo reconoce el gráfico de dependencias las dependencias

El grafo de dependencias analiza automáticamente los archivos de manifiesto. Puede enviar datos para las dependencias que no se pueden detectar automáticamente.

¿Quién puede utilizar esta característica?

El gráfico de dependencias está disponible para todos los repositorios.

El gráfico de dependencias puede identificar las dependencias del proyecto mediante los métodos siguientes.

MétodoCómo funciona
          **Análisis estático** | Analiza los archivos de manifiesto y de bloqueo en tu repositorio |

| | | | API de envío de dependencias | Acepta los datos de dependencia que envíe mediante programación. |

Una vez que las dependencias se han agregado al gráfico, puede recibir Dependabot alerts y Dependabot security updates para cualquier vulnerabilidad conocida.

Análisis estático

Al habilitar el gráfico de dependencias, GitHub examina el repositorio para ver los archivos de manifiesto admitidos y analiza el nombre y la versión de cada paquete. El gráfico se actualiza al cambiar un manifiesto o archivo de bloqueo admitidos en la rama predeterminada.

El análisis estático puede identificar:

  •         **Dependencias directas definidas** explícitamente en un manifiesto o archivo de bloqueo
    
  •         **Dependencias indirectas**: dependencias de estas dependencias directas, también denominadas "dependencias transitivas", pero solo si se definen en un manifiesto o archivo de bloqueo, no si se resuelven en tiempo de compilación.
    

Para obtener el gráfico más fiable, debe utilizar archivos de bloqueo (o su equivalente), ya que estos definen exactamente qué versiones de las dependencias directas e indirectas está utilizando actualmente. Los archivos de bloqueo también garantizan que todos los colaboradores del repositorio usen las mismas versiones, lo que hace más fácil probar y depurar código.

La API de envío de dependencias

Puede llamar a la API de envío de dependencias en su propio script o flujo de trabajo. Esto es útil si:

  • Debe enviar dependencias transitivas que no se puedan detectar desde archivos de bloqueo.
  • Debe crear lógica personalizada o usar un sistema de CI/CD externo.

Las dependencias se envían a la API de envío de dependencias en forma de instantánea. Se trata de una lista de dependencias asociadas a un SHA de confirmación y otros metadatos, que reflejan el estado actual de su repositorio.

Si llama a la API en un flujo de trabajo de GitHub Actions, puede usar una acción predefinida para su ecosistema que recopile automáticamente las dependencias y las envíe a la API. De lo contrario, puede escribir su propia acción o llamar a la API desde un sistema externo.

Las dependencias enviadas no están disponibles en la información de dependencias de la organización.

Para más información, consulta Uso de la Dependency submission API.

Establecimiento de prioridades

Un repositorio puede utilizar múltiples métodos para la presentación de dependencias, lo que puede hacer que el mismo manifiesto de paquete se analice varias veces, potencialmente con resultados diferentes de cada análisis. El gráfico de dependencias usa lógica de desduplicación para analizar las salidas y priorizar la información más precisa para cada archivo de manifiesto.

El gráfico de dependencias muestra solo una instancia de cada archivo de manifiesto mediante las siguientes reglas de precedencia.

  1.        **Los envíos de usuario** tienen la prioridad más alta, ya que normalmente se crean durante las compilaciones de artefactos que tienen la información más completa.
    
    • Si hay varias instantáneas manuales de diferentes detectores, se ordenan alfabéticamente por correlación y la primera usada.
    • Si hay dos correladores con el mismo detector, se combinan las dependencias resueltas. Para obtener más información sobre los correladores y detectores, consulta Puntos de conexión de la API de REST para el envío de dependencias.
  2.        **Los envíos automáticos** tienen la segunda prioridad más alta, ya que también se crean durante las compilaciones de artefactos, pero los usuarios no los envían.
    
  3.        **Los resultados de análisis estáticos** se usan cuando no hay otros datos disponibles.