Интеграция Azure Pipelines с управлением изменениями ServiceNow
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Чтобы улучшить совместную работу между командами разработки и ИТ-отделами, Azure Pipelines поддерживает интеграцию с ServiceNow. Teams может снизить риски, связанные с изменениями, и следовать методологиям управления службами, таким как библиотека инфраструктуры информационных технологий (ITIL), включая шлюзы управления изменениями в конвейерах выпуска.
В этом руководстве описано следующее:
- Настройте экземпляры ServiceNow.
- Включите процесс управления изменениями ServiceNow в качестве шлюза выпуска.
- Отслеживайте процесс управления изменениями из конвейеров выпуска.
- Продолжайте обновлять запросы на изменение ServiceNow с результатами развертывания.
Необходимые компоненты
- У вас есть учетная запись HI в неразвитом экземпляре ServiceNow.
- У вас есть организация и проект Azure DevOps с разрешениями на установку расширений на уровне организации.
- Используется классический конвейер выпуска или конвейер YAML, который развертывается в среде в проекте Azure DevOps.
- Убедитесь, что вы понимаете и можете выполнять процедуры, описанные в разделе "Использование шлюзов и утверждений" для управления развертыванием и определением утверждений и проверок.
Настройка экземпляра ServiceNow
Установите расширение Azure Pipelines в экземпляре ServiceNow. Дополнительные сведения об установке приложений из магазина ServiceNow см. в разделе " Обзор покупки ". Для завершения установки необходимы учетные данные HI .
В ServiceNow создайте нового пользователя для учетной записи службы Azure Pipelines и предоставьте ей роль x_mioms_azpipeline.pipelinesExecution .
Настройка организации и проекта Azure DevOps
В организации Azure DevOps установите расширение ServiceNow Change Management.
В проекте Azure DevOps создайте подключение службы ServiceNow с помощью обычной проверки подлинности или проверки подлинности OAuth2. Дополнительные сведения см. в разделе "Создание подключения к службе".
Настройка конвейера
Интеграцию ServiceNow можно добавить в классический конвейер выпуска или в конвейер YAML, который развертывается в среде.
Добавление шлюза управления изменениями ServiceNow перед развертыванием
В конвейере выпуска Azure Pipelines щелкните значок условий предварительного развертывания.
На экране "Условия предварительного развертывания" разверните и включите Шлюзы, выберите "Добавить рядом с шлюзами развертывания" и выберите шлюз управления изменениями ServiceNow перед развертыванием.
Настройка параметров управления изменениями ServiceNow
На экране параметров управления изменениями ServiceNow в разделе "Подключение ServiceNow" выберите созданное ранее подключение службы ServiceNow.
Заполните оставшуюся часть формы следующим образом:
Параметр Description Действие Выберите "Создать новый запрос на изменение" или "Использовать существующий запрос на изменение". Тип изменения Выберите "Обычный", "Стандартный" или "Экстренная ситуация". Краткое описание Введите сводку по изменению. Расписание запроса на изменение При необходимости введите расписание изменения в соответствии с рабочим процессом ServiceNow. В разделе "Запланированная дата начала" и "Запланированная дата окончания" введите дату и время в формате y-MM-ddTHH:mm:ssZ. Description При необходимости введите подробное описание изменения. Категория При необходимости выберите категорию изменения, например оборудование, сеть или программное обеспечение. Приоритет При необходимости выберите приоритет изменения. Риск При необходимости выберите уровень риска для изменения. Воздействие При необходимости выберите эффект изменения в бизнесе. Элемент конфигурации При необходимости выберите элемент конфигурации, к которому применяется изменение. Группа назначений При необходимости выберите группу, к которым назначено изменение. Дополнительные>параметры запроса на изменение Выберите многоточие рядом с полем и нажмите кнопку "Добавить ", чтобы добавить дополнительные параметры. Имена должны быть именами полей, а не метками, префиксами, u_
такими какu_backout_plan
. Значения должны быть допустимыми в ServiceNow. Недопустимые записи игнорируются.Критерии успешности Выберите требуемое состояние запроса на изменение или критерии расширенного успешного выполнения. Требуемое состояние запроса на изменение Выберите значение состояния запроса на изменение, необходимое для успешного выполнения шлюза и продолжения конвейера. Расширенные критерии успешности Введите выражение, которое определяет, когда шлюз должен завершиться успешно. Запрос на изменение определяется как root['result']
в ответе serviceNow. Например,and(eq(root['result'].state, 'New'),eq(root['result'].risk, 'Low'))
. Дополнительные сведения см. в разделе Выражения.Имя ссылки на выходные переменные> Чтобы использовать выходные переменные в рабочем процессе развертывания, укажите имя ссылки. Доступ к переменным шлюза можно получить с помощью PREDEPLOYGATE
префикса в задании без агента. Например, если для имени ссылки задано значение gate1, можно получить номер запроса на изменение с помощью переменной$(PREDEPLOYGATE.gate1.CHANGE_REQUEST_NUMBER)
.Список переменных CHANGE_REQUEST_NUMBER — это количество запроса на изменение.
CHANGE_SYSTEM_ID — это идентификатор системы запроса на изменение.
Обновление конвейера
В конце конвейера выпуска добавьте задание без агента с запросом на изменение serviceNow для обновления задачи.
В форме параметров задачи в разделе "Подключение ServiceNow" выберите подключение службы ServiceNow.
В разделе "Номер запроса на изменение" введите номер запроса на изменение ServiceNow для обновления.
Выберите "Обновить состояние", а затем в разделе "Обновленный запрос на изменение" выберите или введите состояние, заданное для запроса на изменение.
В разделе " Заметки о работе" в разделе "Дополнительно" при необходимости введите все рабочие заметки, добавляемые для обновления запроса на изменение.
Примечание.
Задача запроса на изменение обновления ServiceNow завершается ошибкой, если ни одно из полей запроса на изменение не обновляется во время выполнения. ServiceNow игнорирует недопустимые поля и значения, передаваемые задаче.
Создание выпуска
Выберите "Создать выпуск ", чтобы начать новый выпуск.
Конвейер должен создать новый запрос на изменение в ServiceNow в рамках условий предварительного развертывания, созданных ранее.
Конвейер ожидает успешного выполнения всех шлюзов в пределах одного и того же интервала выборки. Чтобы проверить номер изменения, выберите значок состояния для просмотра журналов конвейера.
Запрос на изменение помещается в очередь в ServiceNow, и владелец изменения может просмотреть его.
Конвейер выпуска, активировав новый запрос на изменение, можно найти в разделе метаданных Azure DevOps Pipeline.
Когда изменение готово к реализации и перемещено в состояние реализации, конвейер возобновляет выполнение, а состояние шлюза должно вернуться успешно.
Запрос на изменение закрывается автоматически после развертывания.
Вопросы и ответы
Какие версии ServiceNow поддерживаются?
Расширение Azure Pipelines ServiceNow поддерживает выпуски Кингстона, Лондона, Нью-йорка, Парижа, Квебека, Рима, Сан-Диего, Токио и Юты.
Расширение Azure Pipelines ServiceNow поддерживает выпуски Kingston, Лондон, Нью-йорк, Париж, Квебек, Сан-Диего, Токио и Юта.
Расширение Azure Pipelines ServiceNow поддерживает выпуски Kingston, Лондон, Нью-йорк, Париж и Квебек.
Какие типы запросов на изменение поддерживаются?
Интеграция Azure Pipelines ServiceNow поддерживает обычные, стандартные и экстренные изменения.
Разделы справки задать другие свойства изменений?
Можно указать дополнительные свойства изменений из поля "Дополнительные параметры запроса изменения" или в otherParameters
. Используйте формат JSON пар "ключ-значение" с именем поля, а не меткой, с префиксом u_
.
Можно ли обновить настраиваемые поля в запросе на изменение с дополнительными параметрами запроса на изменение?
Если вы определяете настраиваемые поля в запросе на изменение, необходимо добавить сопоставление настраиваемых полей в схеме преобразования импорта набора.
Как просмотреть раскрывающиеся значения, заполненные для категорий, состояния и других полей?
Подключаемые модули модели состояния управления изменениями и управление изменениями должны быть активными в экземпляре ServiceNow для работы раскрывающихся списков. Дополнительные сведения см. в разделе "Управление изменениями " и "Обновление состояний запросов на изменение".
Ресурсы
- Настройка конвейеров выпуска для безопасных развертываний
- Тональность X в качестве шлюза выпуска
- Проблемы с GitHub в качестве шлюза выпуска
- Создание пользовательских шлюзов.
- Пример библиотеки ServerTaskHelper