Compartir a través de


Solución de problemas de enlaces de servicio

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

En este artículo se ofrecen instrucciones generales de solución de problemas para los enlaces de servicio de Azure DevOps. También proporciona respuestas a las preguntas más frecuentes (PF).

Ver actividad y depurar problemas

La página Service Hooks del administrador de acceso web resume la actividad de los últimos siete días para cada suscripción. La página también muestra si cada suscripción está habilitada, deshabilitada o restringida.

Para cada suscripción, puede acceder a un historial detallado que incluya los datos completos de solicitud y respuesta para cada evento. Esta información puede ayudarle a depurar un servicio o una suscripción problemáticos.

  1. Para ver la actividad y el estado de las suscripciones, vaya a la página Enlaces de servicio .

    Captura de pantalla de la página Enlaces de servicio que muestra el estado, el estado y otros datos de las suscripciones. La configuración del proyecto y los enlaces de servicio están resaltados.

  2. Para ver la actividad detallada de una suscripción, incluidos los datos completos de solicitud, respuesta y carga de eventos, seleccione una suscripción en la tabla y, a continuación, seleccione Historial.

    Captura de pantalla que muestra el historial de una suscripción, con información detallada para un evento con errores, como el estado, el mensaje y el mensaje de error.

Errores de suscripción y período de prueba (restringido)

Si la respuesta HTTP a una solicitud de notificación indica un error, la gravedad del error determina cómo responde Azure DevOps. Ciertos tipos de errores pueden deshabilitar las suscripciones o ponerlas en período de prueba.

Tipos de error

Los errores de las notificaciones de enlace de servicio se agrupan en las siguientes categorías:

  • Errores de terminal
  • Errores transitorios
  • Errores duraderos

El código de error de la respuesta HTTP determina cómo Azure DevOps clasifica el error.

Errores de terminal

El único código de estado HTTP que se clasifica como un error de terminal es 410 (Desaparecido).

Cuando se produce un error de terminal en una suscripción, la suscripción se deshabilita automáticamente independientemente de su estado anterior.

Errores transitorios

Las respuestas HTTP con los siguientes códigos de estado se clasifican como errores transitorios:

  • 408 (Tiempo de espera de solicitud agotado)
  • 502 (Error de puerta de enlace)
  • 503 (Servicio no disponible)
  • 504 (Tiempo de espera de puerta de enlace)

Cuando se produce un error transitorio en una suscripción, Azure DevOps intenta volver a enviar la notificación hasta ocho veces, con un retraso creciente entre cada intento.

En la tabla siguiente se muestra información sobre los reintentos que se intentan después de que se produzca un error transitorio. Incluido es el tiempo de retroceso aproximado o el tiempo de espera antes de intentar volver a enviar una notificación. El tiempo de retroceso máximo es de 60 segundos. La tabla también muestra el retraso total de cada reintento.

Número de reintentos Tiempo de retroceso en segundos Retraso total en segundos
1 1 1
2 2 3
3 4 7
4 8 15
5 16 31
6 32 63
7 60 123
8 60 183

Si se agotan todos los reintentos de una notificación y cada intento produce un error transitorio, la notificación ya no se envía. En su lugar, se clasifica como una falla persistente.

Errores duraderos

Todos los demás códigos de error HTTP, por ejemplo, 404 (no encontrado) y 500 (error interno del servidor), producen errores duraderos.

Cuando se produce un error perdurable en una suscripción, la suscripción se coloca en período de prueba.

Suspensión de la condena

Cuando una suscripción está en período de prueba, se pierden los nuevos eventos. El sistema realiza un número limitado de intentos para volver a enviar la notificación con errores.

En la tabla siguiente se enumeran los tiempos de retroceso aproximados y los tiempos de probación totales para los reintentos que se intentan durante la probación. Como máximo, se intentan siete reintentos y el tiempo de retroceso máximo para un reintento de prueba es de 15 horas.

Número de reintentos Tiempo de retroceso Tiempo total de libertad condicional en horas
1 20 minutos 0.33
2 40 minutos 1
3 1 hora 20 minutos 2.33
4 2 horas 40 minutos 5
5 5 horas 20 minutos 10.33
6 10 horas 40 minutos Veintiuno
7 15 horas 36

Si la suscripción recibe una respuesta correcta mientras está en período de prueba, se restaura a un estado totalmente habilitado y los eventos se publican de nuevo. Si se producen errores en los siete reintentos, el estado de la suscripción se establece en DisabledBySystem.

Preguntas más frecuentes

P: ¿Cuál es el límite de carga de un enlace de servicio?

A: El límite de carga útil es de 2 MB. Las cargas más grandes provocan una degradación del rendimiento y la confiabilidad. Como procedimiento recomendado, los enlaces de servicio deben limitar la carga a 2 MB.

P: ¿Qué significa el estado Habilitado (restringido)?

A: Una suscripción se restringe si se producen demasiados fallos. Estar en el estado Habilitado (restringido) es el mismo que estar en libertad condicional.

P: ¿Qué significa el estado Deshabilitado (debido a errores)?

Una: Una suscripción se desactiva automáticamente en los siguientes casos:

  • Se produce una falla terminal.
  • Se produce una serie de errores consecutivos durante un período prolongado.

Las notificaciones que producen errores transitorios se reintentan varias veces antes de declarar errores duraderos. Las notificaciones de error duraderas se reintentan un número limitado de veces durante el periodo de prueba. Si fallan todos los intentos durante el periodo de prueba, la suscripción se desactiva.

Los códigos de estado siguientes proporcionan ejemplos de cada tipo de error:

  • Transitorio: 408 (tiempo de espera de solicitud), 502 (puerta de enlace incorrecta), 503 (servicio no disponible), 504 (tiempo de espera de puerta de enlace)
  • Terminal: 410 (desaparecido)
  • Perdurable: todos los errores que no son transitorios o terminales

P: ¿Qué significa el estado Deshabilitado (usuario abandonó el proyecto)?

Un: El usuario que creó la suscripción ya no es miembro del equipo.

P: ¿Qué debo probar si un enlace de servicio no funciona?

A: Compruebe los siguientes elementos:

  • Confirme que la suscripción está habilitada.
  • Confirme que la configuración de la suscripción es correcta. Compruebe los filtros de eventos y las acciones.
  • Examine el historial, especialmente si hay errores.

P: ¿Puedo conceder a un usuario de proyecto normal la capacidad de ver y administrar suscripciones de enlace de servicio para un proyecto?

A: De forma predeterminada, solo los administradores del proyecto tienen estos permisos. Para concederlos a otros usuarios directamente, puede usar la herramienta de línea de comandos o la API REST de Seguridad.

P: ¿Puedo crear suscripciones mediante programación?

A: Sí, use las API REST.