Integración con la administración de cambios de ServiceNow

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Azure Pipelines admite la integración con ServiceNow para mejorar la colaboración entre los equipos de desarrollo y TI. Al incluir la administración de cambios en las canalizaciones de versión, los equipos pueden reducir los riesgos asociados a los cambios y seguir las metodologías de administración de servicios, como ITIL, al tiempo que aprovechan al máximo Azure Pipelines.

En este artículo, aprenderá a:

  • Configurar instancias de ServiceNow.
  • Incluir el proceso de administración de cambios de ServiceNow como validación de la versión.
  • Supervisar el proceso de administración de cambios desde canalizaciones de versión.
  • Mantener actualizadas las solicitudes de cambio de ServiceNow con los resultados de la implementación.

Requisitos previos

Configuración de la instancia de ServiceNow

  1. Instale la extensión Azure Pipelines en la instancia de ServiceNow. Necesitará credenciales Hi para completar la instalación. Consulte Introducción a las compras para más información sobre la instalación de aplicaciones desde la tienda de ServiceNow.

  2. Cree un nuevo usuario en ServiceNow y concédale el rol x_mioms_azpipeline.pipelinesExecution.

    Captura de pantalla que muestra cómo configurar un nuevo usuario en ServiceNow.

Configuración de la organización de Azure DevOps

  1. Instale la extensión Administración de cambios de ServiceNow en su organización de Azure DevOps.

    Captura de pantalla que muestra la extensión Administración de cambios de ServiceNow.

  2. Cree una nueva conexión de servicio de ServiceNow en el proyecto de Azure DevOps como se indica a continuación. Como alternativa, también puede usar la autenticación de OAuth2.

    Captura de pantalla que muestra cómo configurar la conexión de servicio de ServiceNow.

Configuración de la canalización de versión

  1. Vaya a la canalización de versión y seleccione el icono Condiciones anteriores a la implementación. Seleccione Validaciones y la validación previa a la implementación Administración de cambios de ServiceNow.

    Captura de pantalla que muestra cómo se agrega una validación previa a la implementación.

  2. Seleccione la conexión de servicio que creó anteriormente y rellene los campos obligatorios de la siguiente manera:

    Captura de pantalla que muestra cómo configurar la validación de Administración de cambios de ServiceNow.

    • Conexión de ServiceNow: conexión a la instancia de ServiceNow que se usa para la administración de cambios.
    • Descripción corta: un resumen del cambio.
    • Descripción: una descripción detallada del cambio.
    • Categoría: categoría del cambio. Ejemplo: Hardware, Red, Software.
    • Prioridad: la prioridad del cambio.
    • Riesgo: nivel de riesgo del cambio.
    • Impacto: el efecto que tiene el cambio en el negocio.
    • Elemento de configuración: elemento de configuración (CI) al que se aplica el cambio.
    • Grupo de asignación: el grupo al que se asigna el cambio.
    • Programación de la solicitud de cambio: programación del cambio que se respeta en el flujo de trabajo de ServiceNow. La fecha y hora deben estar en formato UTC y debe ser aaaa-MM-ddTHH:mm:ssZ. Ejemplo: 2018-01-31T07:56:59Z.
    • Parámetros de solicitud de cambio adicionales: el nombre debe ser el nombre del campo (no la etiqueta) precedido de "u_". Ejemplo: u_backout_plan. El valor debe ser un valor válido en ServiceNow. Los valores no válidos se omitirán.
    • Estado deseado de la solicitud de cambio: la validación se realizaría correctamente y la canalización continúa cuando el estado de la solicitud de cambio es el mismo que el valor proporcionado.
    • Avanzado: especifica una expresión que controla cuándo esta validación debe ser correcta. La solicitud de cambio se define como root['result'] en la respuesta de ServiceNow. Ejemplo: "and(eq(root['result'].state, 'New'),eq(root['result'].risk, 'Low'))". Consulte Expresiones para más información.
    • Variables de salida: debe especificar un nombre de referencia para poder usar variables de salida en el flujo de trabajo de implementación. Se puede acceder a las variables de validación mediante "PREDEPLOYGATE" como "prefijo" en trabajos sin agente. Por ejemplo, cuando el nombre de referencia se establece en "gate1", el número de cambio se puede obtener de la siguiente manera: $(PREDEPLOYGATE.gate1.CHANGE_REQUEST_NUMBER).
    • CHANGE_REQUEST_NUMBER: número de la solicitud de cambio.
    • CHANGE_SYSTEM_ID: identificador del sistema de la solicitud de cambio.
  3. Al final de la canalización de versión, agregue un trabajo sin agente con una tarea Actualizar solicitud de cambio de ServiceNow.

    Captura de pantalla que muestra cómo configurar la tarea Actualizar solicitud de cambio de ServiceNow.

  • Conexión de ServiceNow: conexión a la instancia de ServiceNow que se usa para la administración de cambios.
  • Número de solicitud de cambio: número de la solicitud de cambio que se va a actualizar.
  • Estado actualizado de la solicitud de cambio: estado que se va a establecer para la solicitud de cambio. Esta entrada está disponible si Estado de actualización está seleccionado.
  • Cerrar el código y Cerrar las notas: devuelven el estado.

Nota:

Si no se actualiza ninguno de los campos de solicitud de cambio durante la ejecución, se producirá un error en la tarea Actualizar solicitud de cambio de ServiceNow. ServiceNow omite los campos y valores no válidos que se pasan a la tarea.

Creación de una canalización de versión

  1. Seleccione Crear versión para iniciar una nueva canalización de versión.

  2. La canalización debe crear una nueva solicitud de cambio en ServiceNow como parte de las condiciones previas a la implementación que creó anteriormente.

    Captura de pantalla que muestra la ejecución de la validación previa a la implementación.

  3. La canalización esperará a que todas las validaciones se realicen correctamente dentro del mismo intervalo de ejemplo. Para comprobar el número de cambio, seleccione el icono de estado para ver los registros de canalización.

    Captura de pantalla que muestra los registros de canalización.

  4. La solicitud de cambio se pondrá en cola en ServiceNow y la podrá ver el propietario del cambio.

    Captura de pantalla que muestra una nueva solicitud de cambio en ServiceNow.

  5. La canalización de versión que desencadenó la nueva solicitud de cambio se puede encontrar en la sección Metadatos de canalización de Azure DevOps.

    Captura de pantalla que muestra los metadatos de la canalización de versión.

  6. Cuando el cambio esté listo para la implementación (se ha movido al estado Implementar), la canalización reanudará la ejecución y el estado de validación debe devolver correcto.

    Captura de pantalla que muestra el estado de validación de la implementación.

  7. La solicitud de cambio se cerrará automáticamente después de la implementación.

Canalizaciones YAML

En este tutorial se supone que tiene una canalización YAML con una sola fase que se implementa en un entorno "más reciente".

Adición de una comprobación

  1. Vaya al entorno "más reciente", seleccione el botón de puntos suspensivos y, luego, elija Aprobaciones y comprobaciones.

  2. Seleccione el signo más para agregar una nueva comprobación y, luego, agregue la comprobación Administración de cambios de ServiceNow a su entorno. Use la misma configuración que para la validación previa a la implementación.

    Captura de pantalla que muestra cómo se agrega una comprobación de Administración de cambios de ServiceNow.

Adición de la tarea YAML

  1. Agregue un trabajo de servidor a la fase para actualizar la solicitud de cambio.

    Captura de pantalla que muestra la tarea sin agente.

  2. Guarde y ejecute la canalización. Se creará automáticamente una nueva solicitud de cambio y la canalización se pausará y esperará a que se completen las comprobaciones.

  3. Una vez completadas las comprobaciones, la canalización reanudará la ejecución. La solicitud de cambio se cerrará automáticamente después de la implementación.

Captura de pantalla que muestra la ejecución de canalización.

Preguntas más frecuentes

P: ¿Qué versiones de ServiceNow se admiten?

R: Se admiten las siguientes versiones: Kingston, Londres, Nueva York, París, Quebec, Roma, San Diego y Tokio.

R: Se admiten las siguientes versiones: Kingston, Londres, Nueva York, París y Quebec.

R: Se admiten las siguientes versiones: San Diego, Tokio y Utah.

P: ¿Qué tipos de solicitud de cambio se admiten?

R: con esta integración se admiten solicitudes de cambio normales, estándar y de emergencia.

P: ¿Cómo se establecen propiedades de cambio adicionales?

R: Puede especificar propiedades de cambio adicionales en el campo Parámetros de solicitud de cambio adicionales. Use un formato JSON de pares clave-valor, donde el nombre sea el nombre del campo (no la etiqueta) precedido de u_.

P: ¿Puedo actualizar los campos personalizados de la solicitud de cambio con parámetros de solicitud de cambio adicionales?

R: Si se han definido campos personalizados en la solicitud de cambio, debe agregar la asignación de campos personalizados en "Importar asignación de transformación establecida".

P: No veo los valores desplegables rellenados para Categoría, Estado y otros campos. ¿Cuál debo hacer?

R: Los complementos Change Management Core y Change Management - State Model deben estar activos en la instancia de ServiceNow para que funcionen las listas desplegables. Consulte Actualización de la administración de cambios y Actualización de los estados de solicitud de cambio para más información.

Recursos