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

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Azure Pipelines y ServiceNow aportan una integración de Azure Pipelines con ServiceNow Change Management para mejorar la colaboración entre los equipos de desarrollo y TI. Al incluir la administración de cambios en canalizaciones de CI/CD, los equipos pueden reducir los riesgos asociados a los cambios y seguir metodologías de administración de servicios como ITIL, a la vez que obtienen todos los DevOps beneficios de Azure Pipelines.

En este tema se explica:

  • Configuración de ServiceNow para la integración con Azure Pipelines
  • Incluir el proceso de administración de cambios de ServiceNow como una puerta de lanzamiento o una comprobación
  • Supervisión del proceso de administración de cambios desde versiones y ejecuciones de canalización
  • Mantener las solicitudes de cambio de ServiceNow actualizadas con el resultado de la implementación

Prerrequisitos

En este tutorial se amplía el uso de aprobaciones y puertas y se definen las comprobaciones de aprobaciones&.

Necesitará una instancia que no sea de desarrollador de ServiceNow en la que se pueden instalar las aplicaciones desde la tienda.

Configuración de la instancia de ServiceNow

  1. Instale la aplicación Azure Pipelines en la instancia de ServiceNow. Necesitará credenciales hi para completar la instalación. Consulte la documentación para obtener más detalles sobre cómo obtener e instalar aplicaciones desde el almacén de ServiceNow.

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

    Creating a new user in ServiceNow

Configuración de la organización de Azure DevOps

  1. Instale la extensión ServiceNow Change Management en la organización Azure DevOps.

    Installing the ServiceNow Change Management extension

    Siga las instrucciones para "Obtenerlo gratis"

  2. Cree una nueva conexión de servicio de ServiceNow en el proyecto de Azure DevOps que se usa para administrar las canalizaciones. Puede usar la autenticación básica y usar el nombre de usuario, la contraseña de la cuenta de servicio creada en ServiceNow. Como alternativa, también puede autenticarse mediante oAuth. Más información

    Creating a new ServiceNow service connection

Canalizaciones de versión del diseñador

Adición de una puerta a la canalización

  1. En la canalización de versión, agregue una puerta de implementación previa a La administración de cambios de ServiceNow.

    Adding a pre-deployment gate for ServiceNow Change Management

  2. Seleccione la conexión de servicio de ServiceNow que creó anteriormente y escriba los valores de las propiedades de la solicitud de cambio.

    Entering the values for properties of the change request

    Entradas para la puerta:

    • Conexión de ServiceNow: conexión a la instancia de ServiceNow que se usa para la administración de cambios.
    • Acción: puerta sobre el estado de la nueva solicitud de cambio o una solicitud de cambio existente.
    • Tipo de cambio: tipo de la solicitud de cambio.
    • Plantilla de cambio estándar: cambie el nombre de la plantilla para la solicitud de cambio.
    • Descripción breve: un resumen del cambio.
    • Cambiar criterios de consulta: criterios para consultar la solicitud de cambio. Debe identificar de forma única la solicitud de cambio. La puerta produciría un error si se encuentran varias solicitudes de cambio coincidentes.
    • Cadena de consulta/Número de solicitud de cambio: cambie la solicitud que se va a usar.

    Se pueden establecer propiedades adicionales en la solicitud de cambio creada mediante las siguientes entradas. Nota: Las entradas disponibles cambian en función del tipo de cambio seleccionado.

    • Descripción: descripción detallada del cambio.
    • Categoría: categoría del cambio, por ejemplo. Hardware, Red, Software.
    • Prioridad: prioridad del cambio.
    • Riesgo: nivel de riesgo para el 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 tal y como respeta el flujo de trabajo de ServiceNow. La fecha y la hora deben estar en formato UTC y debe ser yyyy-MM-ddTHH:mm:ssZ. eg. 2018-01-31T07:56:59Z.
    • Parámetros de solicitud de cambio adicionales: propiedades adicionales de la solicitud de cambio que se va a establecer. El nombre debe tener el prefijo de nombre de campo (no etiqueta) con "u_". eg. u_backout_plan El valor debe ser un valor válido y aceptado en ServiceNow. Se omiten las entradas no válidas.

    Criterios de éxito de la puerta :

    • Estado deseado de la solicitud de cambio: la puerta 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 debe realizarse correctamente esta puerta. La solicitud de cambio se captura como root['result'] en la respuesta de ServiceNow. Ejemplo: and(eq(root['result'].state, 'New'),eq(root['result'].risk, 'Low')). Más información.

    Variables de salida de puerta :
    La puerta de ServiceNow genera variables de salida. Debe especificar el nombre de referencia para poder usar estas variables de salida en el flujo de trabajo de implementación. Se puede acceder a las variables de puerta mediante "PREDEPLOYGATE" como prefix en un trabajo sin agente en el flujo de trabajo. Por ejemplo, cuando el nombre de referencia se establece en "gate1", el número de cambio se puede obtener como $(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 del proceso de implementación, agregue una fase sin agente con una tarea para actualizar el estado del cambio después de la implementación.

    Adding an agentless phase with a task to update status of the change after the deployment

    Entradas para la tarea Actualizar solicitud de cambio:

    • 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 de actualización: seleccione esta opción para actualizar el estado de la solicitud de cambio.
    • Estado actualizado de la solicitud de cambio : estado que se va a establecer para la solicitud de cambio. Esta entrada está disponible si Update status está seleccionada.
    • Cerrar código y notas: información de cierre de la solicitud de cambio.
    • Notas del trabajo: Notas del trabajo para la solicitud de cambio.
    • Parámetros de solicitud de cambio adicionales: propiedades adicionales de la solicitud de cambio que se va a establecer.

La tarea de actualización produciría un error si ninguno de los campos de la solicitud de cambio se actualiza durante la ejecución de la tarea. ServiceNow omite los campos y valores no válidos que se pasan a la tarea.

Ejecución de una versión

  1. Cree una nueva versión a partir de la canalización de versión configurada en Azure DevOps

  2. Después de completar la fase de desarrollo, la canalización crea una nueva solicitud de cambio en ServiceNow para la versión y espera a que llegue al estado deseado.

    Creating a new change request in ServiceNow for the release

  3. Se usarán los valores definidos como parámetros de puerta. Puede obtener el número de cambio que se creó a partir de los registros.

    Viewing the change parameter in the logs

  4. El propietario del cambio de ServiceNow verá la versión en la cola como un nuevo cambio.

    Viewing the change release in the queue

  5. Se puede realizar el seguimiento de la versión que provocó el cambio en la sección de metadatos de canalización de Azure DevOps del cambio.

    Tracking the release that caused the change to be requested

  6. El cambio pasa por su ciclo de vida normal: Aprobación, Programado y mucho más hasta que esté listo para la implementación.

  7. Cuando el cambio está listo para la implementación (está en estado Implementar), la versión en Azure DevOps continúa. El estado de las puertas será como se muestra aquí:

    Viewing the gate status

  8. Después de la implementación, la solicitud de cambio se cierra automáticamente.

Canalizaciones de Yaml

En este tutorial se supone que tiene una canalización yaml con una sola fase que se implementa en un entorno denominado "latest".

Agregar una comprobación

  1. Agregue la comprobación "Administración de cambios de ServiceNow" al entorno. Los detalles de comprobación de la configuración siguen siendo los mismos que la puerta en las canalizaciones de versión del diseñador.

    Add a check

Adición de la tarea de cambio de actualización al trabajo

  1. Agregue un trabajo de servidor a la fase específica y ejecute la tarea "UpdateChangeRequest" en ella. El campo 'changenumber' es opcional. Lo dejaremos vacío, por lo que la canalización actualiza el cambio creado para la fase actual.

    Update YAML

Ejecución de la canalización

  1. Creación de una nueva ejecución para la canalización

  2. Al principio de la fase. Una nueva solicitud de cambio se crearía automáticamente con las propiedades especificadas. La canalización esperaría a que se complete la comprobación, es decir, para que el cambio llegue al estado deseado.

  3. Una vez completada la comprobación, la fase iniciará la ejecución. El cambio se cerraría cuando se ejecuta la tarea de actualización al final de la fase.

    Executed run

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 y San Diego.

P: ¿Qué tipos de solicitud de cambio se pueden administrar con la integración?

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

P: ¿Cómo establecer propiedades de cambio adicionales?

R: Puede especificar propiedades de cambio adicionales de la solicitud de cambio en el campo Parámetros de solicitud de cambio adicionales . Las propiedades se especifican como pares clave-valor en formato JSON, el nombre es el nombre del campo (no la etiqueta) con el prefijo u_ en ServiceNow y un valor válido.

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

R: Si los campos personalizados se definen en ServiceNow para las solicitudes de cambio, se debe agregar la asignación de los campos personalizados en la asignación de transformación del conjunto de importación. Consulte Extensión de administración de cambios de ServiceNow para obtener más información.

P: No veo los valores desplegables rellenados para Categoría, Estado y otros. ¿Qué debo hacer?

R: Change Management Core and Change Management - State Model plugins must be active on your ServiceNow instance for the drop-downs to work. Consulte Upgrade change management (Administración de cambios de actualización ) y Update change request states (Actualizar estados de solicitud de cambio ) para obtener más detalles.

Consulte también

Ayuda y soporte técnico