Интеграция с управлением изменениями ServiceNow

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

Azure Pipelines поддерживает интеграцию с ServiceNow для улучшения совместной работы между разработками и ИТ-командами. Включив управление изменениями в конвейеры выпуска, команды могут снизить риски, связанные с изменениями, и следовать методологиям управления службами, таким как ITIL, используя все преимущества Azure Pipelines.

В этой статье вы узнаете, как выполнять следующие задачи.

  • Настройте экземпляры ServiceNow.
  • Включите процесс управления изменениями ServiceNow в качестве шлюза выпуска.
  • Отслеживайте процесс управления изменениями из конвейеров выпуска.
  • Продолжайте обновлять запросы на изменение ServiceNow с результатами развертывания.

Необходимые компоненты

Настройка экземпляра ServiceNow

  1. Установите расширение Azure Pipelines в экземпляре ServiceNow. Для завершения установки потребуются учетные данные Hi . Дополнительные сведения об установке приложений из магазина ServiceNow см. в разделе " Обзор покупки ".

  2. Создайте пользователя в ServiceNow и предоставьте ей следующую роль: x_mioms_azpipeline.pipelinesExecution

    Снимок экрана: настройка нового пользователя в ServiceNow.

Настройка организации Azure DevOps

  1. Установите расширение ServiceNow Change Management в организации Azure DevOps.

    Снимок экрана: расширение ServiceNow Change Management.

  2. Создайте подключение службы ServiceNow в проекте Azure DevOps следующим образом. Кроме того, можно использовать проверку подлинности OAuth2.

    Снимок экрана: настройка подключения службы ServiceNow.

Настройка конвейера выпуска

  1. Перейдите к конвейеру выпуска и щелкните значок условий предварительного развертывания. Выберите Гейтс и шлюз управления изменениями ServiceNow перед развертыванием.

    Снимок экрана: добавление шлюза предварительного развертывания.

  2. Выберите подключение службы, созданное ранее, и заполните необходимые поля следующим образом:

    Снимок экрана: настройка шлюза управления изменениями ServiceNow.

    • Подключение ServiceNow: Подключение ion к экземпляру ServiceNow, используемому для управления изменениями.
    • Краткое описание: сводка по изменению.
    • Описание: подробное описание изменения.
    • Категория: категория изменения. Пример: оборудование, сеть, программное обеспечение.
    • Приоритет: приоритет изменения.
    • Риск: уровень риска для изменения.
    • Влияние: влияние изменения на бизнес.
    • Элемент конфигурации: элемент конфигурации (CI), к которому применяется изменение.
    • Группа назначений: группа, к которому назначено изменение.
    • Расписание запроса на изменение: расписание изменения в соответствии с рабочим процессом ServiceNow. Дата и время должны быть в формате UTC и форматом y-MM-ddTHH:mm:ssZ. Пример: 2018-01-31T07:56:59Z.
    • Дополнительные параметры запроса на изменение: имя должно быть именем поля (не меткой), префиксом "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_NU МБ ER).
    • CHANGE_REQUEST_NU МБ ER: число запроса на изменение.
    • CHANGE_SYSTEM_ID: системный идентификатор запроса на изменение.
  3. В конце конвейера выпуска добавьте задание без агента с запросом на изменение ServiceNow для обновления задачи.

    Снимок экрана, на котором показано, как настроить задачу

  • Подключение ServiceNow: Подключение ion к экземпляру ServiceNow, используемому для управления изменениями.
  • Номер запроса на изменение: номер запроса на изменение для обновления.
  • Обновлено состояние запроса на изменение: состояние, заданное для запроса на изменение. Этот вход доступен, если выбрано состояние обновления.
  • Закройте код и закройте заметки: состояние возврата.

Примечание.

Задача запроса на изменение обновления ServiceNow завершится ошибкой, если ни одно из полей запроса на изменение не обновляется во время выполнения. ServiceNow игнорирует недопустимые поля и значения, передаваемые задаче.

Создание конвейера выпуска

  1. Выберите "Создать выпуск", чтобы запустить новый конвейер выпуска.

  2. Конвейер должен создать новый запрос на изменение в ServiceNow в рамках условий предварительного развертывания, созданных ранее.

    Снимок экрана: выполнение шлюза предварительного развертывания.

  3. Конвейер ожидает успешного выполнения всех шлюзов в пределах одного и того же интервала выборки. Чтобы проверка номер изменения, выберите значок состояния для просмотра журналов конвейера.

    Снимок экрана: журналы конвейера.

  4. Запрос на изменение будет помещен в очередь в ServiceNow и может просматриваться владельцем изменений.

    Снимок экрана: новый запрос на изменение в ServiceNow.

  5. Конвейер выпуска, активировав новый запрос на изменение, можно найти в разделе метаданных Azure DevOps Pipeline.

    Снимок экрана: метаданные конвейера выпуска.

  6. Когда изменение готово к реализации (перемещено в состояние реализации), конвейер возобновляет выполнение, а состояние шлюза должно вернуться успешно.

    Снимок экрана: состояние шлюза развертывания.

  7. Запрос на изменение будет автоматически закрыт после развертывания.

Конвейеры Yaml

В этом руководстве предполагается, что у вас есть конвейер yaml с одним этапом развертывания в "последней" среде.

Добавление проверка

  1. Перейдите в среду "последняя", нажмите кнопку с многоточием, а затем выберите Утверждения и проверка.

  2. Выберите знак "плюс", чтобы добавить новую проверка, а затем добавьте в среду проверка serviceNow Change Management. Используйте ту же конфигурацию, которую вы использовали для шлюза предварительного развертывания.

    Снимок экрана: добавление проверка управления изменениями ServiceNow.

Добавление задачи yaml

  1. Добавьте задание сервера на этап, чтобы обновить запрос на изменение.

    Снимок экрана: задача без агента.

  2. Сохраните и запустите конвейер. Новый запрос на изменение будет создан автоматически, и конвейер приостановится и дождется завершения проверка.

  3. После завершения проверка конвейер должен возобновить выполнение. Запрос на изменение будет автоматически закрыт после развертывания.

Снимок экрана: выполнение конвейера.

Вопросы и ответы

Вопрос. Какие версии ServiceNow поддерживаются?

Ответ. Мы поддерживаем следующие версии: Кингстон, Лондон, Нью-йорк, Париж, Квебек, Рим, Сан-Диего и Токио.

Ответ. Мы поддерживаем следующие версии: Кингстон, Лондон, Нью-йорк, Париж и Квебек.

Ответ. Мы поддерживаем следующие версии: Сан-Диего, Токио и Юта выпуски.

Вопрос. Какие типы запросов на изменение поддерживаются?

Ответ. Для этой интеграции поддерживаются обычные, стандартные и экстренные изменения.

Вопрос: Разделы справки задать дополнительные свойства изменений?

Ответ. Можно указать дополнительные свойства изменений из поля "Дополнительные параметры запроса на изменение". Используйте формат JSON пар "ключ-значение" с именем поля (а не меткой) с u_префиксом .

Вопрос. Можно ли обновить настраиваемые поля в запросе на изменение с дополнительными параметрами запроса на изменение?

Ответ. Если настраиваемые поля определены в запросе на изменение, необходимо добавить сопоставление настраиваемых полей в схеме преобразования импорта набора.

Вопрос. Я не вижу раскрывающихся значений, заполненных для полей "Категория", "Состояние" и "Другие". Что делать?

Ответ. Подключаемые модули модели управления состоянием и управление изменениями должны быть активными в экземпляре ServiceNow для работы раскрывающихся списков. Дополнительные сведения см. в разделе "Управление изменениями " и " Обновление запросов на изменение".

Ресурсы