Настройка веб-перехватчика GitFlic#

В Automation Controller есть возможность запускать задания по запросу от внешних систем с помощью механизма веб-перехватчиков (webhook): при наступлении события внешняя система отправляет HTTP-запрос по URL, сгенерированному контроллером.

Важно

Для обработки запросов веб-перехватчика Automation Controller должен быть доступен по HTTPS с доверенным сертификатом.

Получение токена#

Для получения токена выполните следующие действия:

  1. Создайте токен OAuth в настройках GitFlic.

  2. Скопируйте созданный токен, поскольку он понадобится позже для настройки контроллера.

Настройка контроллера#

Для настройки контроллера выполните следующие действия:

  1. В графическом интерфейсе перейдите в раздел Полномочия.

  2. Нажмите кнопку Создать полномочие (Create credential).

  3. Заполните форму для создания нового полномочия:

    • Название (Name) – название полномочия, например, Доступ к GitFlic.

    • Описание (Description) – дополнительная информация о полномочии, например, Полномочие создано для настройки webhook GitFlic.

    • Организация (Organization) – организация, которой принадлежит полномочие, например, Jupiter.

      Если поле не заполнено, полномочие является личным: оно принадлежит создавшему его пользователю и не связано с организацией.

    • Тип полномочия (Credential Type) – тип полномочия.

      Выберите GitFlic Personal Access Token.

    • Токен (Token) – токен, созданный ранее в GitFlic.

  4. Откройте в режиме редактирования шаблон задания, который необходимо связать с webhook, и измените значения следующих настроек:

    1. В секции Опции (Options) включите флаг Включить веб-перехватчик (Enable Webhook).

    2. В секции Подробные сведения о webhook (Webhook details) настройте следующие параметры:

      • Служба webhook (Webhook service): GitFlic.

        Примечание

        В некоторых сборках графической консоли значение GitFlic отсутствует в списке Служба webhook (Webhook service), хотя платформа его поддерживает. В этом случае задайте значение через API контроллера: запрос PATCH /api/controller/v2/job_templates/<id>/ с телом {"webhook_service": "gitflic"}.

      • Полномочие на webhook (Webhook credential): Доступ к GitFlic.

    3. Сохраните настройки.

  5. После сохранения шаблона контроллер сгенерирует параметры доступа для шаблона в следующем виде:

    • URL веб-перехватчика (Webhook URL) – <сгенерированный URL>;

    • Ключ webhook (Webhook key) – <секретный ключ>.

  6. Скопируйте сгенерированные параметры, они понадобятся для настройки webhook в GitFlic.

Настройка GitFlic#

Для настройки GitFlic выполните следующие действия:

  1. В настройках проекта в GitFlic выберите вкладку Вебхуки.

  2. Нажмите кнопку Создать.

  3. В полях URL для отправки данных и Секрет введите значения, полученные ранее. Прочие поля оставьте пустыми.

  4. Выберите события, при наступлении которых по указанному URL будут передаваться данные, например, Новый запрос на слияние.

Проверка работоспособности#

Для проверки корректности настройки webhook выполните следующие действия:

  1. Создайте запрос на слияние в GitFlic.

  2. Убедитесь, что в Automation Controller запущено задание.

  3. После выполнения задания откройте его и выберите вкладку Подробности (Details).

  4. Убедитесь, что переменная awx_webhook_status_api имеет значение null.

  5. Убедитесь, что в файле /var/log/tower/tower.log нет ошибок.