Skip to main content

Administrar las solicitudes de extracción para las actualizaciones de dependencia

Administrarás las solicitudes de extracción que levante el Dependabot de casi la misma forma que cualquier otra solicitud de extracción, pero hay algunas opciones adicionales.

¿Quién puede utilizar esta característica?

Usuarios con acceso de escritura

Note

Para poder utilizar esta característica, el administrador del sitio debe configurar Dependabot updates para tu instancia de GitHub Enterprise Server. Para más información, consulta Habilitación de Dependabot para la empresa.

Es posible que no puedas habilitar ni deshabilitar Dependabot updates si un propietario de empresa ha establecido una directiva a nivel empresarial. Para más información, consulta Aplicación de directivas de seguridad y análisis de código de la empresa.

Acerca de las solicitudes de extracción del Dependabot

El Dependabot levanta solicitudes de extracción para actualizar las dependencias. En función de la configuración del repositorio, Dependabot podría generar solicitudes de incorporación de cambios para las actualizaciones de versión o de seguridad. Administrarás estas solicitudes de la misma forma que cualquier otra solicitud de extracción, pero también hay comandos extra disponibles. Para más información sobre cómo habilitar las actualizaciones de dependencias de Dependabot, consulta Configuración de actualizaciones de seguridad de Dependabot y Configuración de las actualizaciones de versiones de Dependabot.

Cuando el Dependabot levanta una solicitud de extracción, se te notificará con el método que hayas escogido para el repositorio. Cada solicitud de cambios contiene información detallada sobre el cambio propusto, que se toma del administrador de paquetes. Estas solicitudes de extracción siguen las revisiones y pruebas normales que se definieron en tu repositorio.

Si tienes muchas dependencias para administrar, tal vez quieras personalizar la configuración para cada administrador de paquete y que así, las solicitudes de extracción tengan revisores, asignados, y etiquetas específicos. También puedes agrupar conjuntos de dependencias para que varias dependencias se actualicen en una única solicitud de incorporación de cambios. Para más información, consulta Personalización de las solicitudes de cambios de Dependabot para ajustarlas a los procesos y Configuración de actualizaciones de seguridad de Dependabot.

Note

Si no interactúas con solicitudes de cambios de Dependabot de un repositorio durante 90 días, Dependabot considera que el repositorio está inactivo y pausará automáticamente las Dependabot updates. Para más información sobre los criterios de inactividad, consulta Acerca de las actualizaciones a la versión del Dependabot y Sobre las actualizaciones de seguridad de Dependabot.

Visualizar las solicitudes de extracción del Dependabot

  1. En GitHub, navegue hasta la página principal del repositorio.

  2. En el nombre del repositorio, haga clic en Solicitudes de incorporación de cambios.

    Captura de pantalla de la página principal de un repositorio. En la barra de navegación horizontal, una pestaña, con la etiqueta "Solicitudes de incorporación de cambios", se destaca en naranja oscuro.

  3. Cualquier solicitud de cambio de actualizaciones de versión o de seguridad se puede identificar fácilmente.

    • El autor es dependabot, la cuenta de bot que usa Dependabot.
    • De manera predeterminada, tienen la etiqueta dependencies.

Cambiar la estrategia de rebase para las solicitudes de extracción del Dependabot

Predeterminadamente, el Dependabot rebasa automáticamente las solicitudes de extracción para resolver cualquier conflicto. Si no se ha combinado una solicitud de cambios durante 30 días,Dependabot dejará de fusionar mediante cambio de base la solicitud de cambios. Todavía puedes fusionar mediante cambio de base y combinar manualmente la solicitud de cambios. Si prefieres controlar los conflictos de combinación manualmente, puedes deshabilitarlo mediante la opción rebase-strategy. Para más información, consulta Referencia de opciones de Dependabot.

Permitir que Dependabot fusione mediante cambio de base confirmaciones adicionales y fuerce la inserción sobre estas

De forma predeterminada, Dependabot dejará de fusionar mediante cambio de base las solicitudes de incorporación de cambios una vez que se hayan insertado en ellas confirmaciones adicionales. Para permitir que Dependabot fuerce la inserción sobre confirmaciones agregadas a sus ramas, incluye cualquiera de las siguientes cadenas: [dependabot skip] , [skip dependabot], [dependabot-skip] o [skip-dependabot], en minúsculas o mayúsculas, en el mensaje de confirmación.

Administrar las solicitudes de extracción del Dependabot con comandos de comentario

El Dependabot responde a comandos simples en los comentarios. Cada solicitud de cambios contiene detalles de los comandos que puedes utilizar para procesarla (por ejemplo: para fusionarla, combinarla, reabrirla, cerrarla o rebasarla) bajo la sección de "comandos y opciones del Dependabot". El objetivo es facilitar tanto como sea posible el que se pueda clasificar automáticamente las solicitudes de extracción generadas.

Puedes utilizar cualquiera de los siguientes comandos en una solicitud de cambios del Dependabot.

  • @dependabot cancel merge cancela una combinación solicitada previamente.
  • @dependabot close cierra la solicitud de incorporación de cambios y previene que Dependabot vuelva a crearla. Puedes lograr el mismo resultado si cierras la solicitud de cambios manualmente.
  • @dependabot ignore this dependency cierra la solicitud de incorporación de cambios y previene que Dependabot cree más solicitudes de incorporación de cambios para esta dependencia (a menos de que vuelvas a abrir la solicitud de incorporación de cambios para mejorarla a la versión sugerida de la dependencia tú mismo).
  • @dependabot ignore this major version cierra la solicitud de incorporación de cambios y previene que Dependabot cree más solicitudes de incorporación de cambios para esta versión principal (a menos de que vuelvas a abrir la solicitud de incorporación de cambios para mejorarla a esta versión principal tú mismo).
  • @dependabot ignore this minor version cierra la solicitud de incorporación de cambios y previene que Dependabot cree más solicitudes de incorporación de cambios para esta versión secundaria (a menos de que vuelvas a abrir la solicitud de incorporación de cambios para mejorarla a esta versión secundaria tú mismo).
  • @dependabot ignore this patch version cierra la solicitud de incorporación de cambios y previene que Dependabot cree más solicitudes de incorporación de cambios para esta versión de revisión (a menos de que vuelva a abrir la solicitud de incorporación de cambios para mejorarla a esta versión de revisión por su cuenta).
  • @dependabot merge combina la solicitud de incorporación de cambios una vez que se han superado las pruebas de CI.
  • @dependabot rebase fusiona mediante cambio de base la solicitud de incorporación de cambios.
  • @dependabot recreate vuelve a crear la solicitud de incorporación de cambios, sobrescribiendo las modificaciones que se hayan realizado en ella.
  • @dependabot reopen vuelve a abrir la solicitud de incorporación de cambios si esta se cierra.
  • @dependabot show DEPENDENCY_NAME ignore conditions recupera información sobre las condiciones de omisión de la dependencia especificada y comenta la solicitud de incorporación de cambios con una tabla que muestra todas las condiciones de omisión de la dependencia. Por ejemplo, @dependabot show express ignore conditions buscaría todas las condiciones ignore almacenadas para la dependencia de Express y comentaría la solicitud de incorporación de cambios con esa información.
  • @dependabot squash and merge fusiona mediante combinación con "squash" la solicitud de incorporación de cambios una vez que se han superado las pruebas de CI.

El Dependabot reaccionará con un emoji de "pulgares arriba" para reconocer el comando y podrá responder con un comentario de la solicitud de cambios. Si bien el Dependabot a menudo responde rápidamente, algunos comandos podrían tardar varios minutos para completarse si el Dependabot está ocupado procesando otras actualizaciones o comandos.

Si ejecutas cualquiera de los comandos para ignorar las dependencias o las versiones, el Dependabot almacena las preferencias para el repositorio centralmente. Si bien esta es una solución rápida, para aquellos repositorios con más de un colaborador, es mejor definir explícitamente las dependencias y versiones a ignorar en el archivo de configuración. Esto hace que todos los colaboradores puedan ver más fácilmente por qué una dependencia en particular no se está actualizando automáticamente.

Para más información, consulta Referencia de opciones de Dependabot.

Administrar las solicitudes de incorporación de cambios del Dependabot para actualizaciones agrupadas con comandos de comentario

En las solicitudes de incorporación de cambios del Dependabot para actualizaciones de versión agrupadas, puedes usar comandos de comentario para ignorar y dejar de ignorar actualizaciones de determinadas dependencias y versiones. Puedes usar cualquiera de los siguientes comandos para administrar las condiciones para ignorar actualizaciones agrupadas.

  • @dependabot ignore DEPENDENCY_NAME cierra la solicitud de incorporación de cambios e impide que el Dependabot actualice esta dependencia.
  • @dependabot ignore DEPENDENCY_NAME major version cierra la solicitud de incorporación de cambios e impide que el Dependabot actualice la versión principal de esta dependencia.
  • @dependabot ignore DEPENDENCY_NAME minor version cierra la solicitud de incorporación de cambios e impide que el Dependabot actualice la versión secundaria de esta dependencia.
  • @dependabot ignore DEPENDENCY_NAME patch version cierra la solicitud de incorporación de cambios e impide que el Dependabot actualice la versión de revisión de esta dependencia.
  • @dependabot unignore * cierra la solicitud de incorporación de cambios actual, borra todas las condiciones ignore almacenadas para todas las dependencias del grupo y, a continuación, abre una nueva solicitud de incorporación de cambios.
  • @dependabot unignore DEPENDENCY_NAME cierra la solicitud de incorporación de cambios actual, borra todas las condiciones ignore almacenadas para la dependencia y, a continuación, abre una nueva solicitud de incorporación de cambios que incluye las actualizaciones disponibles para la dependencia especificada. Por ejemplo, @dependabot unignore lodash abriría una nueva solicitud de incorporación de cambios que incluye actualizaciones para la dependencia de Lodash.
  • @dependabot unignore DEPENDENCY_NAME IGNORE_CONDITION cierra la solicitud de incorporación de cambios actual, borra la condición ignore almacenada y, a continuación, abre una nueva solicitud de incorporación de cambios que incluye las actualizaciones disponibles para la condición de omisión especificada. Por ejemplo, @dependabot unignore express [< 1.9, > 1.8.0] abriría una nueva solicitud de incorporación de cambios que incluye actualizaciones de Express entre la 1.8.0 y la 1.9.0.

Tip

Cuando quieras dejar de ignorar una condición de omisión específica, usa el comando @dependabot show DEPENDENCY_NAME ignore conditions para comprobar rápidamente qué condiciones de omisión tiene una dependencia en ese momento.