Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
servicios de Azure DevOps
Las comprobaciones de estado aplican estándares de calidad bloqueando las combinaciones hasta que se superen las pruebas, se borren los exámenes de seguridad u otras condiciones. Azure DevOps Services y herramientas externas publican comprobaciones de estado mediante la API de estado de pr.
Para requerir una comprobación de estado como una directiva de rama, cree una directiva en la sección Estado para comprobar y especifique el género y el nombre de la comprobación con el formato genre/name. A continuación, la solicitud de incorporación de cambios bloquea las combinaciones hasta que la comprobación notifica succeeded.
Valores de estado y comportamiento de combinación
Cuando una comprobación de estado envía un resultado a una solicitud de incorporación de cambios, notifica uno de los siguientes valores:
| Value | Comportamiento con la directiva necesaria | Comportamiento con directiva opcional |
|---|---|---|
succeeded |
✓ Desbloquea la directiva | Informativo |
failed |
✗ Bloques de combinación | Informativo |
error |
✗ Bloques de combinación | Informativo |
pending |
⏳ Combinación de bloques (esperando el resultado) | Informativo |
notApplicable |
✓ Omite el requisito de la directiva | Informativo |
notSet |
⏳ Tratado como pendiente | Informativo |
Nota:
Cuando se establece una directiva necesaria en Aplicar de forma predeterminada, puede publicar notApplicable para quitar el requisito de directiva de una solicitud de incorporación de cambios específica sin cambiar la configuración de la directiva. Esto resulta útil cuando una comprobación no es aplicable a un cambio determinado.
Para obtener instrucciones generales sobre cómo agregar una directiva de comprobación de estado, consulte Configuración de una directiva de rama para un servicio externo. Para obtener opciones avanzadas de directiva, incluidas las restricciones de identidad autorizadas y la configuración de aplicabilidad de directivas, consulte Personalización y extensión de flujos de trabajo de solicitud de incorporación de cambios con el estado de la solicitud de incorporación de cambios.
Comprobaciones de estado de Azure DevOps de terceros
A continuación se muestran las únicas comprobaciones de estado publicadas de forma nativa por Azure DevOps Services. Cada comprobación usa un valor de género fijo, por lo que puede configurar la directiva de rama antes o después de que el servicio publique su primer estado. Todas las demás comprobaciones de estado proceden de servicios externos a través de la API de estado de pr.
Seguridad avanzada de GitHub para Azure DevOps
Estas comprobaciones de estado requieren GitHub Advanced Security para que Azure DevOps esté habilitado en el repositorio. Las comprobaciones evalúan las vulnerabilidades de seguridad detectadas en el examen de código (CodeQL), el examen de dependencias y el examen de secretos.
| Género | Nombre | Estado que se va a comprobar | Description |
|---|---|---|---|
AdvancedSecurity |
AllHighAndCritical |
AdvancedSecurity/AllHighAndCritical |
Los bloques se combinan cuando existe alguna vulnerabilidad crítica o de gravedad alta sin resolver en el repositorio desde cualquier tipo de examen (código, dependencia o secreto). Requiere una directiva de validación de compilación con las tareas de canalización de Advanced Security habilitadas. |
AdvancedSecurity |
NewHighAndCritical |
AdvancedSecurity/NewHighAndCritical |
Los bloques se combinan cuando la solicitud de incorporación de cambios introduce nuevas vulnerabilidades de gravedad crítica o alta desde cualquier tipo de examen. Las vulnerabilidades del repositorio existentes no bloquean la combinación. Requiere una directiva de validación de compilación con tareas de canalización de Advanced Security para examinar la rama de solicitud de incorporación de cambios. |
Nota:
Ambas AdvancedSecurity comprobaciones de estado requieren una directiva de validación de compilación y tareas de examen de Advanced Security configuradas con Wait for Processing: true para asegurarse de que los estados reflejan los resultados de examen más recientes. Para el examen de dependencias o el análisis de código (CodeQL), habilite Wait for Processing en la AdvancedSecurity-Publish tarea. Para el examen de código, habilite también en la AdvancedSecurity-CodeQL-Analyze tarea. Ambas comprobaciones aparecen en la lista desplegable Estado para comprobar después de la primera ejecución de canalización correcta con el examen de Advanced Security.
Sugerencia
Si el repositorio tiene alertas sin resolver existentes, empiece por AdvancedSecurity/NewHighAndCritical evitar el bloqueo de todas las solicitudes de incorporación de cambios inmediatamente. Migre a una AdvancedSecurity/AllHighAndCritical vez resuelto el trabajo pendiente de alertas.
Para obtener instrucciones de configuración, consulte Configuración de comprobaciones de estado de solicitud de incorporación de cambios.
Importante
Deje Opciones avanzadas en sus valores predeterminados al configurar la directiva de comprobación de estado. Cambiar la identidad autorizada o requerir un identificador de iteración impide que las comprobaciones de estado se publiquen correctamente.
cobertura de código Azure Pipelines
Azure Pipelines publica automáticamente una comprobación de estado de cobertura de código cuando una canalización publica los resultados de cobertura de código para una solicitud de incorporación de cambios. El género es el nombre de la canalización, por lo que el valor exacto genre/name depende de cómo se denomina la canalización.
| Género | Nombre | Estado que se va a comprobar | Description |
|---|---|---|---|
{pipeline-name} |
codecoverage |
{pipeline-name}/codecoverage |
Informa del porcentaje de cobertura de diferencias para las líneas modificadas en la solicitud de incorporación de cambios. Aviso de forma predeterminada; no bloquea las combinaciones a menos que se configure como una directiva de rama necesaria con un umbral de cobertura mínimo. |
El umbral de paso predeterminado es 70% cobertura de diferencias. Para ajustar el umbral y otras opciones de configuración, agregue un azurepipelines-coverage.yml archivo a la raíz del repositorio:
coverage:
status:
comments: on
diff:
target: 80
Reemplace por 80 el porcentaje de cobertura de diferencias mínima deseado.
Para obtener instrucciones de configuración, consulte Aplicación de la protección de ramas con una directiva de cobertura de código.
Sugerencia
El género se deriva del nombre para mostrar de la canalización en Azure Pipelines; no es un valor configurable por separado. Por ejemplo, una canalización denominada CI : main usa CI - Main/codecoverage como estado para comprobar el valor. Las comprobaciones de estado solo aparecen en la lista desplegable después de que el servicio haya publicado al menos un estado en una solicitud de incorporación de cambios. Para las nuevas integraciones que aún no se han ejecutado, escriba el genre/name valor directamente en el campo .
Comprobaciones de estado personalizadas y externas
Cualquier servicio que use la API de estado de solicitud de incorporación de cambios puede publicar una comprobación de estado en las solicitudes de incorporación de cambios. Para publicar una comprobación de estado a través de la API REST, la identidad de llamada necesita el permiso Contribuir a las solicitudes de incorporación de cambios en el repositorio.
Cuando un servicio publica un estado, aparece genre/name en la lista desplegable Estado para comprobar al agregar una directiva. En el caso de los nuevos servicios que aún no se han publicado, escriba el genre/name valor directamente.
Patrones de integración comunes
| Tipo de integración | Description | Examples |
|---|---|---|
| Compilación y prueba de servidores | Herramientas de CI externas que publican resultados superados o con errores después de ejecutar pruebas en la rama pr. | Jenkins, GitLab CI, CircleCI, Travis CI |
| Análisis de calidad del código | Herramientas de análisis estáticos que examinan el código para detectar errores, vulnerabilidades y olores de código. | SonarQube, SonarCloud |
| Escáneres de seguridad | Escáneres de vulnerabilidades no Microsoft que publican resultados después de examinar los cambios en la solicitud de incorporación de cambios. También admite resultados de formato SARIF. | Snyk, Checkmarx, WhiteSource (Mend), Seguridad de Microsoft DevOps |
| Cumplimiento y directiva | Herramientas de cumplimiento de directivas que comprueban la preparación de las licencias, los estándares de código, los requisitos normativos o la preparación de la implementación. | Comprobadores de cumplimiento personalizados, puertas de implementación, escáneres de licencias |
| Acciones de GitHub | Las comprobaciones de los flujos de trabajo de Acciones de GitHub aparecen en Azure DevOps solicitudes de incorporación de cambios cuando el repositorio está conectado a GitHub. Consulte Azure DevOps GitHub integración para obtener detalles de configuración. | Cualquier flujo de trabajo de Acciones de GitHub puede publicar el estado |
| Aprobaciones y puertas | Los servicios que requieren aprobación manual o automatizada antes de permitir las combinaciones. | ServiceNow, servicios de aprobación personalizados a través de la API REST |
Opciones de configuración de directivas
Al agregar una directiva de comprobación de estado, puede configurar:
- Requisito de directiva: establezca la directiva según sea necesario (bloquea las combinaciones a menos que se supere la comprobación) o opcional (solo informativo).
- Identidad autorizada: restrinja qué cuentas pueden publicar valores de estado que cumplan la directiva. Deje en blanco para permitir cualquier cuenta.
- Condiciones de restablecimiento: especifique si el estado se restablece cuando se inserta una nueva confirmación. De forma predeterminada, al insertar una nueva confirmación, se restablecen las comprobaciones de estado necesarias a pendientes, lo que les obliga a evaluar el código más reciente. Para permitir que un estado persista entre confirmaciones, deshabilite Restablecer estado siempre que haya nuevos cambios.
-
Aplicabilidad de directiva: elija si la directiva se aplica inmediatamente (aplicar de forma predeterminada) o solo después de que se publique el primer estado (condicional).
-
Aplicar de forma predeterminada: la directiva bloquea las combinaciones hasta que se publica un
succeededestado. Puede publicarnotApplicablepara omitir el requisito de una solicitud de incorporación de cambios específica. - Condicional: la directiva solo se activa después de que la comprobación publique su primer estado.
-
Aplicar de forma predeterminada: la directiva bloquea las combinaciones hasta que se publica un
- Filtro de ruta de acceso: restrinja la directiva a las solicitudes de incorporación de cambios que modifiquen archivos en rutas de acceso específicas (opcional).
Para implementar una comprobación de estado personalizada, consulte:
- Personaliza y extiende los flujos de trabajo con el estado de las solicitudes de incorporación de cambios
- Crear un servidor de estado de pull request con Node.js
- Usar Azure Functions para crear directivas de rama personalizadas
Contenido relacionado
- Configuración de una directiva de rama para un servicio externo
- Configure GitHub Advanced Security para características de Azure DevOps
- Revisión de los resultados de cobertura de código
- Referencia de la API REST de estado de solicitud de incorporación de cambios
- Crear un servidor de estado de PR con Node.js
- Azure DevOps Marketplace: categoría Azure Repos