Directivas y configuraciones de rama

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.

Configurar directivas de rama

Para administrar directivas de rama, seleccione Repos Branchs> (Ramas de repositorios) para abrir la página Ramas en el portal web.

Captura de pantalla que muestra el elemento de menú Ramas.

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.

Captura de pantalla que muestra Abrir las 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.

Captura de pantalla que muestra la página Ramas.

Seleccione el botón ... . Seleccione Directivas de rama en el menú contextual.

Captura de pantalla que muestra Abrir las 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.

Captura de pantalla que muestra la pestaña Directivas.

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:

Captura de pantalla que muestra la directiva Habilitar la directiva Requerir revisiones de código.

  • 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.

Active la casilla Requerir revisiones de código.

  • 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.

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.

Captura de pantalla de la necesidad de elementos de trabajo vinculados en las solicitudes de incorporación de cambios.

Requerir elementos de trabajo vinculados en las solicitudes de incorporación de cambios

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.

Comprobación de la resolución de comentarios

Para más información sobre cómo trabajar con comentarios de solicitud de incorporación de cambios, consulte Revisión de las solicitudes de incorporación de cambios.

Para configurar una directiva de resolución de comentarios para la rama, seleccione Buscar resolución de comentarios.

Comprobación de la resolución de comentarios

Para más información sobre cómo trabajar con comentarios de solicitud de incorporación de cambios, consulte Revisión de las solicitudes de incorporación de cambios.

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.

Limitar los tipos de combinación

  • 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.

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.

Establecimiento de los requisitos de combinación

  • 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.

Para agregar una directiva de validación de compilación

  1. Seleccione el + botón situado junto a Validación de compilación.

    Captura de pantalla que muestra el botón Agregar junto a Validación de compilación.

  2. Rellene el formulario Establecer directiva de compilación :

    Configuración de la directiva de compilación

    • Seleccione la canalización de compilación.

    • Opcionalmente, establezca un filtro Ruta de acceso. Obtenga más información sobre los filtros de ruta de acceso en las directivas de rama.

    • 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.

  3. 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.

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.

Agregar directiva de compilación

Elija Agregar directiva de compilación y configure las opciones en Agregar directiva de compilación.

Configuración de la directiva de compilación

  1. Seleccione la definición de compilación.

  2. Elija el tipo de Desencadenador. Seleccione Automático (siempre que se actualice la rama de origen) o Manual.

  3. 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.

  4. 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.
  5. 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.

  6. 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.

Requerir que los servicios externos aprueben

Para obtener instrucciones sobre cómo configurar esta directiva, consulte Configuración de una directiva de rama para un servicio externo.

Requerir aprobación de servicios externos

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.

Requerir que los servicios externos aprueben

Para obtener instrucciones sobre cómo configurar esta directiva, consulte Configuración de una directiva de rama para un servicio externo.

Incluir automáticamente revisores de código

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.

  1. Seleccione el + botón situado junto a Revisores incluidos automáticamente.

    Captura de pantalla que muestra Agregar revisores necesarios.

  2. Rellene la pantalla Agregar nueva directiva de revisor .

    Captura de pantalla que muestra 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.

  3. Seleccione Guardar.

Nota

Esta característica está disponible para Azure DevOps Server 2020 y versiones posteriores.

Seleccione revisores para directorios y archivos específicos en el repositorio.

Escriba la ruta de acceso y los revisores necesarios.

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.

Agregar revisores automáticos

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.

Los revisores necesarios se agregan automáticamente

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.

El estado de la solicitud de incorporación de cambios muestra que los revisores han aprobado

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.

Captura de pantalla que muestra la omisión de permisos de cumplimiento de directivas.

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.

Preguntas y respuestas

¿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 .