Azure DevOps Services | Azure DevOps Server 2022: Azure DevOps Server 2019 | TFS 2018
Las directivas de rama ayudan a los equipos a proteger sus ramas importantes de desarrollo. Las directivas aplican los estándares de administración de cambios y la calidad del código del equipo. En este artículo se describe cómo establecer y administrar directivas de rama. Para obtener información general sobre todas las directivas y configuraciones de repositorio y rama, consulte Configuración y directivas del repositorio de Git.
No se puede eliminar una rama que tenga las directivas necesarias configuradas y requiere solicitudes de incorporación de cambios (RP) para todos los cambios.
Requisitos previos
Para establecer directivas de rama, debe ser miembro del grupo de seguridad Administradores de proyectos o tener permisos de directivas de edición de nivel de repositorio. Para más información, consulte Establecimiento de permisos de repositorio de Git.
Para establecer directivas de rama, debe ser miembro del grupo de seguridad Administradores de proyectos o tener permisos de directivas de edición de nivel de repositorio. Para más información, consulte Establecimiento de permisos de repositorio de Git.
Para administrar directivas de rama, seleccione Repos Branchs> (Ramas de repositorios) para abrir la página Ramas en el portal web.
También puede acceder a la configuración de directiva de rama con configuración de> proyectoDirectivas> de repositorioDirectivas>de rama Nombre> de rama<>.
Las ramas que tienen directivas muestran un icono de directiva. Puede seleccionar el icono para ir directamente a la configuración de directiva de la rama.
Para establecer directivas de rama, busque la rama que desea administrar. Puede examinar la lista o buscar la rama en el cuadro Buscar nombre de rama en la esquina superior derecha.
Seleccione el icono Más opciones situado junto a la rama y, a continuación, seleccione Directivas de rama en el menú contextual.
Busque la rama en la página. Puede examinar la lista o puede buscar la rama mediante el cuadro Buscar todas las ramas en la esquina superior derecha.
Seleccione el botón ... . Seleccione Directivas de rama en el menú contextual.
Configure directivas en la página de configuración de la rama. Consulte las secciones siguientes para obtener descripciones e instrucciones para cada tipo de directiva.
Configure las directivas en la página Directivas. Consulte las secciones siguientes para obtener descripciones de cada tipo de directiva. Seleccione Guardar cambios para aplicar la nueva configuración de directiva.
Puede usar la CLI de Azure DevOps para enumerar o mostrar directivas para una rama o repositorio.
az repos policy list [--branch]
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--repository-id]
[--subscription]
Parámetros
Parámetro
Descripción
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
org, organization
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git.
query-examples
Cadena JMESPath recomendada. Puede copiar una de las consultas y pegarla después del --query parámetro entre comillas dobles para ver los resultados. Puede agregar una o varias palabras clave posicionales para que las sugerencias se basen en estas palabras clave.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Ejemplo
El comando siguiente devuelve todas las directivas de rama en vigor en la main rama del repositorio fabrikam, id d28cd374-e7f0-4b1f-ad60-f349f155d47c. . Para obtener el identificador del repositorio, ejecute az repos list.
En este ejemplo se usa la siguiente configuración predeterminada: az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos policy list --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --branch main --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
5 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
6 Comment requirements False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
12 Required reviewers True False d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
13 Required reviewers False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
az repos policy show --id
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--subscription]
Parámetros
Parámetro
Descripción
id, policy-id
Identificador de la directiva. Requerido.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
org, organization
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git.
query-examples
Cadena JMESPath recomendada. Puede copiar una de las consultas y pegarla después del --query parámetro entre comillas dobles para ver los resultados. Puede agregar una o varias palabras clave posicionales para que las sugerencias se basen en estas palabras clave.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Los comandos de la CLI de Azure DevOps no se admiten para Azure DevOps Server local.
Requerir un número mínimo de revisores
Las revisiones de código son importantes para los proyectos de desarrollo de software. Para asegurarse de que los equipos revisen y aprueben solicitudes de incorporación de cambios, puede requerir la aprobación de un número mínimo de revisores. La directiva básica requiere que un número especificado de revisores apruebe el código, sin rechazos.
Para establecer la directiva, en Directivas de rama, establezca Requerir un número mínimo de revisoresen Activado. Escriba el número necesario de revisores y seleccione cualquiera de las siguientes opciones:
Seleccione Permitir que los solicitantes aprueben sus propios cambios para permitir que el creador de una solicitud vote sobre su aprobación. De lo contrario, el creador todavía puede votar Aprobar en la solicitud de incorporación de cambios, pero su voto no contará para el número mínimo de revisores.
Seleccione Prohibir que el push más reciente apruebe sus propios cambios para aplicar la segregación de obligaciones. De forma predeterminada, cualquier persona con permiso de inserción en la rama de origen puede agregar confirmaciones y votar sobre la aprobación de pr. Seleccionar esta opción significa que el voto del pusher más reciente no cuenta, incluso si normalmente pueden aprobar sus propios cambios.
Seleccione Permitir finalización incluso si algunos revisores votan esperar o rechazar para permitir la finalización de la solicitud de incorporación de cambios, incluso si algunos revisores votan contra la aprobación. El número mínimo de revisores todavía debe aprobar.
En Cuando se insertan nuevos cambios:
Seleccione Requerir al menos una aprobación en la última iteración para requerir al menos un voto de aprobación para el último cambio de rama de origen.
Seleccione Restablecer todos los votos de aprobación (no restablece los votos para rechazar o esperar) para quitar todos los votos de aprobación, pero mantener los votos para rechazar o esperar, siempre que cambie la rama de origen,
Seleccione Restablecer todos los votos del revisor de código para quitar todos los votos de revisor cada vez que cambie la rama de origen, incluidos los votos para aprobar, rechazar o esperar.
Si los solicitantes pueden aprobar sus propios cambios , el creador de la solicitud de incorporación de cambios todavía puede votar Aprobar en su solicitud de incorporación de cambios, pero su voto no contará para el número mínimo de revisores.
Si algún revisor rechaza los cambios, la solicitud de incorporación de cambios no se puede completar a menos que seleccione Permitir finalización aunque algunos revisores voten para esperar o rechazar.
Puede restablecer los votos del revisor de código cuando se insertan nuevos cambios en la rama de origen. Seleccione Restablecer los votos del revisor de código cuando haya nuevos cambios.
Si se pasan todas las demás directivas, el creador puede completar la solicitud de incorporación de cambios cuando el número necesario de revisores lo apruebe.
Puede administrar los recuentos de aprobadores necesarios de la solicitud de incorporación de cambios con az repos policy approver-count.
Creación de una directiva de recuento de aprobadores
Permitir las vocación descendentes. Valores aceptados: false, true. Requerido.
blocking
Bloquear si no se cumple la directiva. Valores aceptados: false, true. Requerido.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main. Requerido.
creator-vote-counts
Cuente el voto del creador. Valores aceptados: false, true. Requerido.
enabled
Habilite la directiva. Valores aceptados: false, true. Requerido.
minimum-approver-count
Número mínimo de aprobadores necesarios. Por ejemplo: 2. Requerido.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Requerido.
reset-on-source-push
Restablezca los votos cuando se insertan los cambios en el origen. Valores aceptados: false, true. Requerido.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact, la directiva se aplica a una rama que coincide exactamente con el --branch argumento . Si el valor es prefix, la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo en el --branch argumento . Valores aceptados: exact, prefix. Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
org
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o seleccionado a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o seleccionado a través de la configuración de Git.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Ejemplo
En el ejemplo siguiente se establece el número mínimo de aprobaciones 2 necesarias para las solicitudes de incorporación de cambios en la main rama del repositorio de Fabrikam. La directiva permite las solicitudes de incorporación de cambios, lo que significa que las solicitudes de incorporación de cambios se pueden completar incluso si algunos revisores votan no aprobar, siempre y cuando el número mínimo vote para aprobar. Las inserciones en la rama de origen no restablecen los votos. La directiva también permite a los creadores de solicitudes de incorporación de cambios aprobar sus propias solicitudes de incorporación de cambios.
En este ejemplo se usa la configuración az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"predeterminada .
az repos policy approver-count create --allow-downvotes true --blocking true --branch main --creator-vote-counts true --enabled true --minimum-approver-count 2 --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --reset-on-source-push false --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------
27 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Actualizar la directiva de recuento de aprobadores
Permitir las vocación descendentes. Valores aceptados: false, true.
blocking
Bloquear si no se cumple la directiva. Valores aceptados: false, true.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact, la directiva se aplica a una rama que coincide exactamente con el --branch argumento . Si el valor es prefix, la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo en el --branch argumento . Valores aceptados: exact, prefix. Valor predeterminado: exact.
creator-vote-counts
Cuente el voto del creador. Valores aceptados: false, true.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
enabled
Habilite la directiva. Valores aceptados: false, true.
minimum-approver-count
Número mínimo de aprobadores necesarios. Por ejemplo: 2.
org
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o seleccionado a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o seleccionado a través de la configuración de Git.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
reset-on-source-push
Restablezca los votos cuando se insertan los cambios en el origen. Valores aceptados: false, true.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Los comandos de la CLI de Azure DevOps no se admiten para Azure DevOps Server local.
Buscar elementos de trabajo vinculados
Para el seguimiento de la administración de elementos de trabajo, puede requerir asociaciones entre las solicitudes de incorporación de cambios y los elementos de trabajo. La vinculación de elementos de trabajo proporciona más contexto para los cambios y garantiza que las actualizaciones pasen por el proceso de seguimiento de elementos de trabajo.
Para establecer la directiva, en Directivas de rama, establezca Buscar elementos de trabajo vinculados en Activado. Esta configuración requiere que los elementos de trabajo se vinculen a una solicitud de incorporación de cambios para que la solicitud de incorporación de cambios se combine. Establezca la opción Opcional para advertir cuando no haya elementos de trabajo vinculados, pero permita la finalización de la solicitud de incorporación de cambios.
Puede usar la CLI de Azure az repos policy work-item-linking para crear y actualizar directivas de vinculación de elementos de trabajo para una rama o repositorio.
Creación de una directiva de vinculación de elementos de trabajo
Bloquear si no se cumple la directiva. Valores aceptados: false, true. Requerido.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main. Requerido.
enabled
Habilite la directiva. Valores aceptados: false, true. Requerido.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact, la directiva se aplica a una rama que coincide exactamente con el --branch argumento . Si el valor es prefix, la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo en el --branch argumento . Valores aceptados: exact, prefix. Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
org
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Actualización de la directiva de vinculación de elementos de trabajo
Bloquear si no se cumple la directiva. Valores aceptados: false, true.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact, la directiva se aplica a una rama que coincide exactamente con el --branch argumento . Si el valor es prefix, la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo en el --branch argumento . Valores aceptados: exact, prefix. Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
enabled
Habilite la directiva. Valores aceptados: false, true.
minimum-approver-count
Número mínimo de aprobadores necesarios. Por ejemplo: 2.
org
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Ejemplo
En el ejemplo siguiente se actualiza el identificador 3 de directiva de la main rama del repositorio de Fabrikam que se va a habilitar, pero opcional. En el ejemplo se usa la configuración az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"predeterminada .
>az repos policy work-item-linking update --id 3 --blocking false --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ----------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Los comandos de la CLI de Azure DevOps no se admiten para Azure DevOps Server local.
Comprobación de la resolución de comentarios
La directiva Comprobar la resolución de comentarios comprueba si se resuelven todos los comentarios de solicitud de incorporación de cambios.
Configure una directiva de resolución de comentarios para la rama estableciendo Comprobar la resolución de comentarios en Activado. A continuación, seleccione si desea que la directiva sea Obligatoria o Opcional.
Bloquear si no se cumple la directiva. Valores aceptados: false, true. Requerido.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main. Requerido.
enabled
Habilite la directiva. Valores aceptados: false, true. Requerido.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Requerido.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact, la directiva se aplica a una rama que coincide exactamente con el --branch argumento . Si el valor es prefix, la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo en el --branch argumento . Valores aceptados: exact, prefix. Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
org
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Directiva de resolución de comentarios de actualización
Bloquear si no se cumple la directiva. Valores aceptados: false, true.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact, la directiva se aplica a una rama que coincide exactamente con el --branch argumento . Si el valor es prefix, la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo en el --branch argumento . Valores aceptados: exact, prefix. Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
enabled
Habilite la directiva. Valores aceptados: false, true.
org
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Ejemplo
En el ejemplo siguiente se actualiza el identificador 6 de la directiva de resolución de comentarios en la main rama del repositorio de Fabrikam que se va a bloquear. Los comentarios se deben resolver antes de que las solicitudes de incorporación de cambios se puedan combinar. En este ejemplo se usa la configuración az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"predeterminada .
az repos policy comment-required update --id 6 --blocking true --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- -------------------- ------------- ------------ ------------------------------------ ---------------
6 Comment requirements True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Los comandos de la CLI de Azure DevOps no se admiten para Azure DevOps Server local.
Limitar los tipos de combinación
Azure Repos tiene varias estrategias de combinación y, de forma predeterminada, se permiten todas ellas. Puede mantener un historial de ramas coherente aplicando una estrategia de combinación para la finalización de pr.
Establezca Limitar tipos de combinación en Activado para limitar los tipos de combinación que se van a permitir en el repositorio.
La combinación básica (sin avance rápido) crea una confirmación de combinación en el destino cuyos elementos primarios son el destino y las ramas de origen.
La combinación de squash crea un historial lineal con una única confirmación en la rama de destino con los cambios de la rama de origen. Obtenga más información sobre la combinación de squash y cómo afecta al historial de ramas.
Rebase y avance rápido crea un historial lineal mediante la reproducción de confirmaciones de origen en la rama de destino sin confirmación de combinación.
Rebase con confirmación de combinación reproduce las confirmaciones de origen en el destino y también crea una confirmación de combinación.
Nota
Esta característica está disponible para Azure DevOps Server 2020 y versiones posteriores.
Puede usar la CLI de Azure DevOps az repos policy merge-strategy para establecer y actualizar la directiva de estrategia de mezcla.
Creación de una directiva de estrategia de combinación
Bloquear si no se cumple la directiva. Valores aceptados: false, true. Requerido.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main. Requerido.
enabled
Habilite la directiva. Valores aceptados: false, true. Requerido.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Requerido.
allow-no-fast-forward
Combinación básica sin avance rápido. Conserva el historial no lineal exactamente como sucedió durante el desarrollo. Valores aceptados: false, true.
allow-rebase
Rebase y avance rápido. Crea un historial lineal reproduciendo las confirmaciones de la rama de origen en el destino sin una confirmación de combinación. Valores aceptados: false, true.
allow-rebase-merge
Vuelva a base de la confirmación de combinación. Crea un historial semi lineal mediante la reproducción de las confirmaciones de la rama de origen en el destino y, a continuación, crea una confirmación de combinación. Valores aceptados: false, true.
allow-squash
Combinación de squash. Crea un historial lineal mediante la condensación de las confirmaciones de la rama de origen en una única confirmación nueva en la rama de destino. Valores aceptados: false, true.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact, la directiva se aplica a una rama que coincide exactamente con el --branch argumento . Si el valor es prefix, la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo en el --branch argumento . Valores aceptados: exact, prefix. Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
org
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
use-squash-merge
Combinación de squash siempre. Esta opción no está disponible para otros tipos de combinación. Valores aceptados: false, true.
Nota: use-squash-merge está en desuso y se quitará en una versión futura. En su lugar, use --allow-squash.
Ejemplo
En el ejemplo siguiente se establece una estrategia de combinación necesaria para las solicitudes de incorporación de cambios en la main rama del repositorio de Fabrikam para permitir la combinación de squash. En este ejemplo se usa la configuración az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"predeterminada .
az repos policy merge-strategy create --allow-squash true --blocking true --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------------------ ------------- ------------ ------------------------------------ ---------------
29 Require a merge strategy True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Actualización de una directiva de estrategia de combinación
Combinación básica sin avance rápido. Conserva el historial no lineal exactamente como sucedió durante el desarrollo. Valores aceptados: false, true.
allow-rebase
Rebase y avance rápido. Crea un historial lineal reproduciendo las confirmaciones de la rama de origen en el destino sin una confirmación de combinación. Valores aceptados: false, true.
allow-rebase-merge
Vuelva a base de la confirmación de combinación. Crea un historial semi lineal mediante la reproducción de las confirmaciones de la rama de origen en el destino y, a continuación, crea una confirmación de combinación. Valores aceptados: false, true.
allow-squash
Combinación de squash. Crea un historial lineal mediante la condensación de las confirmaciones de la rama de origen en una única confirmación nueva en la rama de destino. Valores aceptados: false, true.
blocking
Bloquear si no se cumple la directiva. Valores aceptados: false, true.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact, la directiva se aplica a una rama que coincide exactamente con el --branch argumento . Si el valor es prefix, la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo en el --branch argumento . Valores aceptados: exact, prefix. Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
enabled
Habilite la directiva. Valores aceptados: false, true.
org
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
use-squash-merge
Si se va a combinar siempre. Esta opción no funciona para otros tipos de combinación. Valores aceptados: false, true.
Los comandos de la CLI de Azure DevOps no se admiten para Azure DevOps Server local.
Aplicación de una estrategia de combinación
Mantenga un historial de ramas coherente aplicando una estrategia de combinación cuando se complete una solicitud de incorporación de cambios.
Seleccione Aplicar una estrategia de combinación y elija una opción para requerir que las solicitudes de incorporación de cambios se combinen con esa estrategia.
Sin combinación de avance rápido : esta opción combina el historial de confirmaciones de la rama de origen cuando se cierra la solicitud de incorporación de cambios y crea una confirmación de combinación en la rama de destino.
Combinación de squash : complete todas las solicitudes de incorporación de cambios con una combinación de squash, creando una única confirmación en la rama de destino con los cambios de la rama de origen. Obtenga más información sobre la combinación de squash y cómo afecta al historial de ramas.
Validación de compilación
Puede establecer una directiva que requiera cambios de solicitud de incorporación de cambios para compilarse correctamente antes de que se pueda completar la solicitud de incorporación de cambios.
Las directivas de compilación reducen los saltos y mantienen los resultados de las pruebas superándoles. Las directivas de compilación ayudan incluso si usa la integración continua (CI) en las ramas de desarrollo para detectar problemas al principio.
Una directiva de validación de compilación pone en cola una nueva compilación cuando se crea una nueva solicitud de incorporación de cambios o los cambios se insertan en una solicitud de incorporación de cambios existente que tiene como destino la rama. La directiva de compilación evalúa los resultados de la compilación para determinar si se puede completar la solicitud de incorporación de cambios.
Importante
Antes de especificar una directiva de validación de compilación, debe tener una canalización de compilación. Si no tiene una canalización, consulte Creación de una canalización de compilación. Elija el tipo de compilación que coincida con el tipo de proyecto.
En Desencadenador, seleccione Automático (siempre que se actualice la rama de origen) o Manual.
En Requisito de directiva, seleccione Requerido o Opcional. Si elige Requerido, las compilaciones deben completarse correctamente para completar las solicitudes de incorporación de cambios. Elija Opcional para proporcionar una notificación del error de compilación, pero siga permitiendo que se completen las solicitudes de incorporación de cambios.
Establezca una expiración de compilación para asegurarse de que las actualizaciones de la rama protegida no interrumpen los cambios para las solicitudes de incorporación de cambios abiertas.
Inmediatamente cuando <se actualiza el nombre> de la rama: esta opción establece el estado de la directiva de compilación de solicitudes de incorporación de cambios en error cada vez que se actualiza la rama y vuelve a poner en cola una compilación. Esta configuración garantiza que la solicitud de incorporación de cambios se compile correctamente incluso si cambia la rama protegida.
Esta opción es mejor para los equipos cuyas ramas importantes tienen pocos cambios. Los equipos que trabajan en ramas de desarrollo ocupadas pueden resultar perjudiciales para esperar una compilación cada vez que se actualiza la rama.
Después <de n> horas si <se ha actualizado el nombre> de la rama: esta opción expira el estado de la directiva actual cuando la rama protegida se actualiza si la compilación que pasa es anterior al umbral especificado. Esta opción es un compromiso entre siempre o nunca requerir una compilación cuando se actualiza la rama protegida. Esta opción reduce el número de compilaciones cuando la rama protegida tiene actualizaciones frecuentes.
Nunca: Novedades a la rama protegida no cambian el estado de la directiva. Este valor reduce el número de compilaciones, pero puede causar problemas al completar solicitudes de incorporación de cambios que no se han actualizado recientemente.
Escriba un nombre para mostrar opcional para esta directiva de compilación. Este nombre identifica la directiva en la página Directivas de rama. Si no especifica un nombre para mostrar, la directiva usa el nombre de la canalización de compilación.
Seleccione Guardar.
Cuando el propietario de la solicitud de incorporación de cambios inserta cambios que se compilan correctamente, el estado de la directiva se actualiza.
Si tiene un valor Inmediatamente cuando <se actualiza el nombre> de la rama o después <de n> horas si <el nombre> de la rama se ha actualizado , el estado de la directiva se actualiza cuando la rama protegida se actualiza, si la compilación anterior ya no es válida.
Nota
Esta característica está disponible para Azure DevOps Server 2020 y versiones posteriores.
Puede usar az repos policy build de la CLI de Azure DevOps para establecer y actualizar la directiva de validación de compilación.
Creación de una directiva de validación de compilación
Bloquear si no se cumple la directiva. Valores aceptados: false, true. Requerido.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main. Requerido.
build-definition-id
Identificador de definición de compilación. Requerido.
display-name
Nombre para mostrar de esta directiva de compilación para identificar la directiva. Por ejemplo: Manual queue policy. Requerido.
enabled
Habilite la directiva. Valores aceptados: false, true. Requerido.
manual-queue-only
Si se permite solo la cola manual de compilaciones. Valores aceptados: false, true. Requerido.
queue-on-source-update-only
Si se va a poner en cola solo se compila cuando se actualiza el origen. Valores aceptados: false, true. Requerido.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Requerido.
valid-duration
Duración de la validez de la directiva, en minutos. Nota:valid-duration debe estar entre cero y un año y debe ser cero cuando --queue-on-source-update-only es false. Requerido.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact, la directiva se aplica a una rama que coincide exactamente con el --branch argumento . Si el valor es prefix, la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo en el --branch argumento . Valores aceptados: exact, prefix. Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
org
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
path-filter
Rutas de acceso en las que se aplica la directiva. Admite rutas de acceso absolutas, caracteres comodín y varias rutas separadas por ;. Ejemplos: /WebApp/Models/Data.cs, /WebApp/*o *.cs, o /WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Ejemplo
En el ejemplo siguiente se establece una directiva de compilación necesaria para las solicitudes de incorporación de cambios en la main rama del repositorio de Fabrikam. La directiva requiere una compilación correcta del identificador 1de definición de compilación y solo permite la puesta en cola de compilación manual. En este ejemplo se usa la configuración az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"predeterminada .
az repos policy build create --blocking true --branch main --build-definition-id 1 --display-name build-policy --enabled true --manual-queue-only true --queue-on-source-update-only false --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --valid-duration 0 --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------ ------------- ------------ ------------------------------------ ---------------
31 build-policy True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Actualización de una directiva de validación de compilación
Bloquear si no se cumple la directiva. Valores aceptados: false, true.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact, la directiva se aplica a una rama que coincide exactamente con el --branch argumento . Si el valor es prefix, la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo en el --branch argumento . Valores aceptados: exact, prefix. Valor predeterminado: exact.
build-definition-id
Identificador de definición de compilación.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
display-name
Nombre para mostrar de esta directiva de compilación para identificar la directiva. Por ejemplo: Manual queue policy.
enabled
Habilite la directiva. Valores aceptados: false, true.
manual-queue-only
Si se permite solo la cola manual de compilaciones. Valores aceptados: false, true.
org
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o seleccionado a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
path-filter
Rutas de acceso en las que se aplica la directiva. Admite rutas de acceso absolutas, caracteres comodín y varias rutas de acceso separadas por ;. Ejemplos: /WebApp/Models/Data.cs, /WebApp/*o *.cs, o /WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o seleccionado a través de la configuración de Git.
queue-on-source-update-only
Si se va a poner en cola solo se compila cuando se actualiza el origen. Valores aceptados: false, true.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
valid-duration
Duración de validez de la directiva, en minutos.
Los comandos de la CLI de Azure DevOps no se admiten para Azure DevOps Server local.
Establezca una directiva que requiera cambios en una solicitud de incorporación de cambios para compilarse correctamente con la rama protegida antes de que se pueda completar la solicitud de incorporación de cambios.
Las directivas de compilación reducen los saltos y mantienen superados los resultados de las pruebas. Las directivas de compilación ayudan incluso si usa la integración continua (CI) en las ramas de desarrollo para detectar problemas al principio.
Si se habilita una directiva de validación de compilación, se pone en cola una nueva compilación cuando se crea una nueva solicitud de incorporación de cambios o si los cambios se insertan en una solicitud de incorporación de cambios existente destinada a la rama. A continuación, la directiva de compilación evalúa los resultados de la compilación para determinar si se puede completar la solicitud de incorporación de cambios.
Importante
Antes de especificar una directiva de validación de compilación, debe tener una definición de compilación. Si no tiene una, consulte Creación de una definición de compilación y elija el tipo de compilación que coincida con el tipo de proyecto.
Elija Agregar directiva de compilación y configure las opciones en Agregar directiva de compilación.
Seleccione la definición de compilación.
Elija el tipo de Desencadenador. Seleccione Automático (siempre que se actualice la rama de origen) o Manual.
Seleccione el requisito de directiva. Si elige Requerido, las compilaciones deben completarse correctamente para completar las solicitudes de incorporación de cambios. Elija Opcional para proporcionar una notificación del error de compilación, pero permitir que se completen las solicitudes de incorporación de cambios.
Establezca una expiración de compilación para asegurarse de que las actualizaciones de la rama protegida no interrumpan los cambios para las solicitudes de incorporación de cambios abiertas.
Inmediatamente cuando branch name se actualiza: esta opción establece el estado de la directiva de compilación en una solicitud de incorporación de cambios en error cuando se actualiza la rama protegida. Vuelva a poner en cola una compilación para actualizar el estado de la compilación. Esta configuración garantiza que los cambios en las solicitudes de incorporación de cambios se compilen correctamente incluso cuando cambia la rama protegida. Esta opción es mejor para los equipos que tienen ramas importantes con un volumen inferior de cambios. Los equipos que trabajan en ramas de desarrollo ocupadas pueden resultar perjudiciales para esperar a que se complete una compilación cada vez que se actualice la rama protegida.
Después n de horas si branch name se ha actualizado: esta opción expira el estado de la directiva actual cuando la rama protegida se actualiza si la compilación que pasa es anterior al umbral especificado. Esta opción es un riesgo entre requerir siempre una compilación cuando la rama protegida se actualiza y nunca requiere una. Esta opción es excelente para reducir el número de compilaciones cuando la rama protegida tiene actualizaciones frecuentes.
Nunca: Novedades a la rama protegida no cambian el estado de la directiva. Este valor reduce el número de compilaciones de la rama. Puede causar problemas al cerrar solicitudes de incorporación de cambios que no se han actualizado recientemente.
Escriba un nombre para mostrar opcional para esta directiva de compilación. Este nombre identifica la directiva en la página Directivas de rama . Si no especifica un nombre para mostrar, la directiva usa el nombre de la definición de compilación.
Seleccione Guardar.
Cuando el propietario inserta los cambios que se compilan correctamente, se actualiza el estado de la directiva. Si tiene un valor Inmediatamente cuando branch name se actualiza o Después n de horas si branch name se ha elegido la directiva de compilación actualizada, el estado de la directiva se actualiza cuando se actualiza la rama protegida si la compilación más reciente ya no es válida.
Comprobaciones de estado
Los servicios externos pueden usar la API de estado de solicitud de incorporación de cambios para publicar el estado detallado en las solicitudes de incorporación de cambios. La directiva de rama para servicios adicionales permite que esos servicios de terceros participen en el flujo de trabajo de pr y establezcan requisitos de directiva.
Los servicios externos pueden usar la API de estado de solicitud de incorporación de cambios para publicar el estado detallado en las solicitudes de incorporación de cambios. La directiva de rama para servicios adicionales aporta la posibilidad de que esos servicios de terceros participen en el flujo de trabajo de pr y establezcan requisitos de directiva.
Puede agregar automáticamente revisores a solicitudes de incorporación de cambios que cambien archivos en directorios y archivos específicos, o a todas las solicitudes de incorporación de cambios de un repositorio.
Seleccione el + botón situado junto a Revisores incluidos automáticamente.
Rellene la pantalla Agregar nueva directiva de revisor .
Agregue personas y grupos a revisores.
Seleccione Opcional si desea agregar revisores automáticamente, pero no requiere su aprobación para completar la solicitud de incorporación de cambios.
O bien, seleccione Requerido si las solicitudes de incorporación de cambios no se pueden completar hasta que:
Cada individuo agregado como revisor aprueba los cambios.
Al menos una persona de cada grupo agregada como revisor aprueba los cambios.
Si solo se requiere un grupo, el número mínimo de miembros que especifique apruebe los cambios.
Especifique los archivos y carpetas que requieren los revisores incluidos automáticamente. Deje este campo en blanco para requerir a los revisores para todas las solicitudes de incorporación de cambios de la rama.
Seleccione Permitir que los solicitantes aprueben sus propios cambios si los propietarios de solicitudes de incorporación de cambios pueden votar para aprobar sus propias solicitudes de incorporación de cambios para satisfacer esta directiva.
Puede especificar un mensaje de fuente de actividad que aparezca en la solicitud de incorporación de cambios.
Seleccione Guardar.
Nota
Esta característica está disponible para Azure DevOps Server 2020 y versiones posteriores.
Puede usar la directiva az repos de la CLI de Azure DevOps required-reviewer para establecer y actualizar la directiva de revisor necesaria.
Bloquear si no se cumple la directiva. Valores aceptados: false, true. Requerido.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main. Requerido.
enabled
Habilite la directiva. Valores aceptados: false, true. Requerido.
message
Mensaje de fuente de actividad que aparece en la solicitud de incorporación de cambios. Obligatorio.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Requerido.
required-reviewer-ids
Direcciones de correo electrónico del revisor separadas por ;. Por ejemplo: john@contoso.com;alice@contoso.com.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact, la directiva se aplica a una rama que coincide exactamente con el --branch argumento . Si el valor es prefix, la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo en el --branch argumento . Valores aceptados: exact, prefix. Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
org
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
path-filter
Rutas de acceso en las que se aplica la directiva. Admite rutas de acceso absolutas, caracteres comodín y varias rutas separadas por ;. Ejemplos: /WebApp/Models/Data.cs, /WebApp/*o *.cs, o /WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Ejemplo
En el ejemplo siguiente se establece Jamal Hartnett como revisor necesario para las solicitudes de incorporación de cambios en la main rama del repositorio de Fabrikam. En este ejemplo se usa la configuración az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"predeterminada .
az repos policy required-reviewer create --blocking true --branch main --enabled true --message "Please review." --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --required-reviewer-ids fabrikamfiber4@hotmail.com --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------------ ------------- ------------ ------------------------------------ ---------------
35 Required reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Actualización de una directiva de revisor necesaria
Bloquear si no se cumple la directiva. Valores aceptados: false, true.
branch
Nombre de rama para filtrar los resultados por coincidencia exacta. El --repository-id parámetro es necesario para usar el filtro de rama. Por ejemplo: --branch main.
branch-match-type
Use el branch argumento para aplicar la directiva. Si el valor es exact, la directiva se aplica a una rama que coincide exactamente con el --branch argumento . Si el valor es prefix, la directiva se aplica en todas las carpetas de rama que coinciden con el prefijo en el --branch argumento . Valores aceptados: exact, prefix. Valor predeterminado: exact.
detect
Detecte automáticamente la organización. Valores aceptados: false, true.
enabled
Habilite la directiva. Valores aceptados: false, true.
message
Mensaje de fuente de actividad que aparece en la solicitud de incorporación de cambios.
org
Dirección URL de la organización de Azure DevOps. Puede configurar la organización predeterminada mediante az devops configure -d organization=<ORG_URL>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git. Ejemplo: https://dev.azure.com/MyOrganizationName/.
path-filter
Rutas de acceso en las que se aplica la directiva. Admite rutas de acceso absolutas, caracteres comodín y varias rutas separadas por ;. Ejemplos: /WebApp/Models/Data.cs, /WebApp/*o *.cs, o /WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Nombre o identificador del proyecto. Puede configurar el proyecto predeterminado mediante az devops configure -d project=<NAME_OR_ID>. Obligatorio si no está configurado como predeterminado o se recoge a través de la configuración de Git.
repository-id
Identificador del repositorio para filtrar los resultados por coincidencia exacta. Por ejemplo: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
required-reviewer-ids
Direcciones de correo electrónico del revisor separadas por ;. Por ejemplo: john@contoso.com;alice@contoso.com.
subscription
Nombre o identificador de la suscripción Puede configurar la suscripción predeterminada mediante az account set -s <NAME_OR_ID>.
Los comandos de la CLI de Azure DevOps no se admiten para Azure DevOps Server local.
Seleccione revisores para directorios y archivos específicos en el repositorio.
Estos revisores se agregan automáticamente a las solicitudes de incorporación de cambios que cambian los archivos a lo largo de esas rutas de acceso. También puede especificar un mensaje de fuente de actividad.
Si selecciona Requerido, la solicitud de incorporación de cambios no se puede completar hasta que:
Cada usuario agregado como revisor para la ruta de acceso aprueba los cambios.
Al menos una persona de cada grupo agregada a la ruta de acceso aprueba los cambios.
El número de revisores especificados para cada grupo agregado a la ruta de acceso aprueba los cambios.
Seleccione Opcional si desea agregar revisores automáticamente, pero no requiere su aprobación para completar la solicitud de incorporación de cambios.
Puede seleccionar Requestors can approve their own changes (Los solicitantes pueden aprobar sus propios cambios).
Cuando todos los revisores necesarios aprueben el código, puede completar la solicitud de incorporación de cambios.
Omitir directivas de rama
En algunos casos, es posible que tenga que omitir los requisitos de directiva. Los permisos de omisión permiten insertar cambios en una rama directamente o completar las solicitudes de incorporación de cambios que no satisfacen las directivas de rama. Puede conceder permisos de omisión a un usuario o grupo. Puede limitar el ámbito de los permisos a todo un proyecto, un repositorio o una sola rama.
Dos permisos permiten a los usuarios omitir la directiva de rama de maneras diferentes:
Omitir directivas al completar solicitudes de incorporación de cambios solo se aplica a la finalización de solicitudes de incorporación de cambios. Los usuarios con este permiso pueden completar solicitudes de incorporación de cambios aunque las solicitudes de incorporación de cambios no cumplan las directivas.
Omitir directivas al insertar se aplica a las inserciones de repositorios locales y las modificaciones realizadas en la Web. Los usuarios con este permiso pueden insertar cambios directamente en ramas protegidas sin cumplir los requisitos de directiva.
Para más información sobre cómo administrar estos permisos, consulte Permisos de Git.
En TFS 2015 a TFS 2018 Update 2, el permiso Exento de cumplimiento de directivas permite a los usuarios con este permiso realizar las siguientes acciones:
Al completar una solicitud de incorporación de cambios, opte por invalidar las directivas y complete una solicitud de incorporación de cambios incluso si no se cumple el conjunto actual de directivas de rama.
Inserte directamente en una rama incluso si esa rama tiene establecidas directivas de rama. Tenga en cuenta que cuando un usuario con este permiso realiza una inserción que invalida la directiva de rama, la inserción omite automáticamente la directiva de rama sin paso de participación ni advertencia.
Importante
Tenga cuidado al conceder la capacidad de omitir directivas, especialmente en los niveles de repositorio y proyecto. Las directivas son una piedra angular de la administración de código fuente segura y compatible.
Filtros de ruta de acceso
Varias directivas de rama ofrecen filtros de ruta de acceso. Si se establece un filtro de ruta de acceso, la directiva solo se aplica a los archivos que coinciden con el filtro de ruta de acceso. Dejar este campo en blanco significa que la directiva se aplica a todos los archivos de la rama.
Puede especificar rutas de acceso absolutas y caracteres comodín.
Ejemplos:
/WebApp/Models/Data.cs
/WebApp/*
*.cs
Puede especificar varias rutas de acceso mediante ; como separador.
Ejemplo:
/WebApp/Models/Data.cs;ClientApp/Models/Data.cs
Las rutas de acceso prefijos con ! se excluyen si de lo contrario se incluirían.
Ejemplo:
/WebApp/*;!/WebApp/Tests/* incluye todos los archivos en /WebApp excepto los archivos de /WebApp/Tests
!/WebApp/Tests/* especifica ningún archivo, ya que no se incluye nada primero.
El orden de los filtros es significativo. Los filtros se aplican de izquierda a derecha.
¿Puedo insertar cambios directamente en las ramas que tienen directivas de rama?
No se pueden insertar cambios directamente en ramas que tengan directivas de rama necesarias a menos que tenga permisos para omitir las directivas de rama. Los cambios en estas ramas solo se pueden realizar a través de solicitudes de incorporación de cambios. Puede insertar cambios directamente en ramas que tengan directivas de rama opcionales , si no tienen directivas de rama necesarias.
¿Qué es autocompletar?
Las solicitudes de incorporación de cambios en ramas con directivas de rama configuradas tienen el botón Establecer autocompletar . Seleccione esta opción para completar automáticamente la solicitud de incorporación de cambios una vez que cumpla todas las directivas. Autocompletar es útil cuando no se esperan problemas con los cambios.
¿Cuándo se comprueban las condiciones de la directiva de rama?
Las directivas de rama vuelven a evaluar en el servidor cuando los propietarios de solicitudes de incorporación de cambios insertan cambios y cuando los revisores votan. Si una directiva desencadena una compilación, el estado de la compilación se establece en esperando hasta que se complete la compilación.
¿Puedo usar definiciones de compilación XAML en directivas de rama?
No, no puedes usar definiciones de compilación XAML en directivas de rama.
¿Qué caracteres comodín puedo usar para los revisores de código necesarios?
Los asteriscos * individuales coinciden con cualquier número de caracteres, incluidas las barras diagonales / y las barras diagonales inversas \. Los signos ? de interrogación coinciden con cualquier carácter único.
Ejemplos:
*.sql coincide con todos los archivos con la extensión .sql .
/ConsoleApplication/* coincide con todos los archivos de la carpeta denominada ConsoleApplication.
/.gitattributes coincide con el archivo .gitattributes en la raíz del repositorio.
*/.gitignore coincide con cualquier archivo .gitignore del repositorio.
¿Las rutas de acceso de revisor de código necesarias distinguen mayúsculas de minúsculas?
No, las directivas de rama no distinguen mayúsculas de minúsculas.
¿Cómo puedo configurar varios usuarios como revisores necesarios, pero solo es necesario aprobar uno de ellos?
Puede agregar los usuarios a un grupo y, a continuación, agregar el grupo como revisor. A continuación, cualquier miembro del grupo puede aprobar para cumplir el requisito de directiva.
Tengo permisos de directiva de omisión. ¿Por qué todavía veo errores de directiva en el estado de la solicitud de incorporación de cambios?
Las directivas configuradas siempre se evalúan para los cambios de solicitud de incorporación de cambios. En el caso de los usuarios que tienen permisos de directiva de omisión, el estado de la directiva notificado solo es de aviso. Si el usuario con permisos de omisión aprueba, el estado del error no bloquea la finalización de la solicitud de incorporación de cambios.
¿Por qué no puedo completar mis propias solicitudes de incorporación de cambios cuando se establece "Permitir que los solicitantes aprueben sus propios cambios"?
Tanto la directiva Requerir un número mínimo de revisores como la directiva Revisores incluidos automáticamente tienen opciones para permitir que los solicitantes aprueben sus propios cambios. En cada directiva, la configuración solo se aplica a esa directiva. La configuración no afecta a la otra directiva.
Por ejemplo, la solicitud de incorporación de cambios tiene establecidas las siguientes directivas:
Requerir un número mínimo de revisores requiere al menos un revisor.
Los revisores incluidos automáticamente requieren que usted o un equipo en el que esté como revisor.
Los revisores incluidos automáticamente tienen habilitado permitir que los solicitantes aprueben sus propios cambios .
Requerir un número mínimo de revisores no tiene habilitado Permitir que los solicitantes aprueben sus propios cambios .
En este caso, la aprobación satisface revisores incluidos automáticamente, pero no requiere un número mínimo de revisores, por lo que no puede completar la solicitud de incorporación de cambios.
También puede haber otras directivas, como Prohibir que el push más reciente apruebe sus propios cambios, lo que impide que apruebe sus propios cambios incluso si se establece Permitir que los solicitantes aprueben sus propios cambios .