Preparación para personalizar solicitudes de incorporación de cambios
Si aún no ha configurado un archivo dependabot.yml para el repositorio y quiere personalizar las solicitudes de incorporación de cambios para las actualizaciones de seguridad, primero debe hacer lo siguiente:
- Insertar un archivo
dependabot.ymlen el directorio.githubdel repositorio. Para más información, consulta Configuración de las actualizaciones de versiones de Dependabot. - Establecer todas las claves obligatorias. Para más información, consulte Claves necesarias.
- Si quiere que la personalización de un ecosistema de paquetes solo se aplique a las actualizaciones de seguridad (y excluir las actualizaciones de versión), establezca la clave
open-pull-requests-limiten0.
Después, puede considerar cuáles son tus necesidades y prioridades para las actualizaciones de seguridad y aplicar una combinación de las opciones de personalización que se describen a continuación.
Clasificar por orden de prioridad las actualizaciones significativas
A fin de crear un proceso de revisión más dirigido que priorice las actualizaciones significativas, use groups para combinar las actualizaciones de seguridad de varias dependencias en una única solicitud de incorporación de cambios.
Para obtener instrucciones detalladas, consulta Priorización de actualizaciones significativas.
Adición automática de usuarios asignados
Usa assignees para agregar automáticamente personas o equipos como usuarios asignados a las solicitudes de incorporación de cambios.
Para obtener instrucciones detalladas, consulta Agregar automáticamente usuarios asignados.
Adición automática de revisores
Para asegurarte de que las actualizaciones de seguridad del proyecto se solucionan rápidamente por parte del equipo adecuado, puedes agregar automáticamente revisores a las solicitudes de cambios de Dependabot mediante un archivo CODEOWNERS. Consulta Acerca de los propietarios de código.
Etiquetado de solicitudes de cambios con etiquetas personalizadas
Para priorizar solicitudes de incorporación de cambios específicas, o bien integrarlas en canalizaciones de CI/CD, use labels para aplicar etiquetas personalizadas propias a cada solicitud de incorporación de cambios.
Para obtener instrucciones detalladas, consulte Etiquetado de solicitudes de incorporación de cambios con etiquetas personalizadas.
Adición de un prefijo a los mensajes de confirmación
Para realizar la integración con automatizaciones que procesan mensajes de confirmación o títulos de solicitudes de incorporación de cambios, use commit-message para especificar el prefijo que quiere usar para los mensajes de confirmación y los títulos de solicitudes de incorporación de cambios.
Para obtener instrucciones detalladas, consulte Adición de un prefijo a los mensajes de confirmación.
Asociación de solicitudes de incorporación de cambios con un hito
Para realizar un seguimiento del progreso hacia un objetivo o una versión del proyecto, use milestone para asociar Dependabotlas solicitudes de incorporación de cambios con un hito.
Para obtener instrucciones detalladas, consulte Asociación de solicitudes de incorporación de cambios con un hito.
Cambio del separador en el nombre de la rama de solicitud de incorporación de cambios
Para asegurarse de que los nombres de rama se alinean con las convenciones existentes del equipo, use pull-request-branch-name.separator para especificar el separador que desea Dependabot usar para los nombres de rama.
Para obtener instrucciones detalladas, consulte Cambio del separador en el nombre de la rama de solicitud de incorporación de cambios.
Ejemplo 1: Configuración solo para actualizaciones de seguridad
En este ejemplo, el archivo dependabot.yml:
- Usa un registro privado para las actualizaciones de las dependencias de npm.
- Deshabilita las actualizaciones de versión para las dependencias, de modo que las personalizaciones solo se apliquen a las actualizaciones de seguridad.
- Se personaliza para que Dependabot aplique etiquetas personalizadas a las solicitudes de incorporación de cambios y agregue asignados.
- Agrupa las actualizaciones de seguridad de las dependencias de golang en una única solicitud de cambios.
# Example configuration file that:
# - Uses a private registry for npm updates
# - Ignores lodash dependency
# - Disables version-updates
# - Applies custom labels
# - Adds assignees
# - Group security updates for golang dependencies into a single pull request
version: 2
registries:
# Define a private npm registry with the name `example`
example:
type: npm-registry
url: https://example.com
token: ${{secrets.NPM_TOKEN}}
updates:
- package-ecosystem: "npm"
directory: "/src/npm-project"
schedule:
interval: "daily"
# For Lodash, ignore all updates
ignore:
- dependency-name: "lodash"
# Disable version updates for npm dependencies
open-pull-requests-limit: 0
registries:
# Ask Dependabot to use the private registry for npm
- example
# Raise all npm pull requests for security updates with custom labels
labels:
- "npm dependencies"
- "triage-board"
# Raise all npm pull requests for security updates with assignees
assignees:
- "user-name"
- package-ecosystem: "gomod"
directories:
- "**/*"
schedule:
interval: "weekly"
open-pull-requests-limit: 0
groups:
# Group security updates for golang dependencies
# into a single pull request
golang:
applies-to: security-updates
patterns:
- "golang.org*"
# Example configuration file that:
# - Uses a private registry for npm updates
# - Ignores lodash dependency
# - Disables version-updates
# - Applies custom labels
# - Adds assignees
# - Group security updates for golang dependencies into a single pull request
version: 2
registries:
# Define a private npm registry with the name `example`
example:
type: npm-registry
url: https://example.com
token: ${{secrets.NPM_TOKEN}}
updates:
- package-ecosystem: "npm"
directory: "/src/npm-project"
schedule:
interval: "daily"
# For Lodash, ignore all updates
ignore:
- dependency-name: "lodash"
# Disable version updates for npm dependencies
open-pull-requests-limit: 0
registries:
# Ask Dependabot to use the private registry for npm
- example
# Raise all npm pull requests for security updates with custom labels
labels:
- "npm dependencies"
- "triage-board"
# Raise all npm pull requests for security updates with assignees
assignees:
- "user-name"
- package-ecosystem: "gomod"
directories:
- "**/*"
schedule:
interval: "weekly"
open-pull-requests-limit: 0
groups:
# Group security updates for golang dependencies
# into a single pull request
golang:
applies-to: security-updates
patterns:
- "golang.org*"
Ejemplo 2: Configuración para actualizaciones de seguridad y de versión
En este ejemplo, el archivo dependabot.yml:
- Se personaliza para que Dependabot agregue etiquetas personalizadas tanto a las actualizaciones de versión como a las actualizaciones de seguridad.
- Usa la opción de personalización
groupspara crear dos grupos ("angular" y "production-dependencies") a fin de agrupar varias actualizaciones en solicitudes de cambios únicas. - Especifica que la personalización
groupsparaangularsolo se aplica a las actualizaciones de seguridad. - Especifica que la personalización
groupsparaproduction-dependenciessolo se aplica a las actualizaciones de versión.
version: 2
updates:
# Keep npm dependencies up to date
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Raise all npm pull requests for security and version updates with custom labels
labels:
- "npm dependencies"
- "triage-board"
groups:
angular:
# Group security updates for Angular dependencies into a single pull request
applies-to: security-updates
patterns:
- "@angular*"
production-dependencies:
# Group version updates for dependencies of type "production" into a single pull request
applies-to: version-updates
dependency-type: "production"
version: 2
updates:
# Keep npm dependencies up to date
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Raise all npm pull requests for security and version updates with custom labels
labels:
- "npm dependencies"
- "triage-board"
groups:
angular:
# Group security updates for Angular dependencies into a single pull request
applies-to: security-updates
patterns:
- "@angular*"
production-dependencies:
# Group version updates for dependencies of type "production" into a single pull request
applies-to: version-updates
dependency-type: "production"