Как создать действительный веб-крючок, который может быть вызван событием Provider_verification_published в брокере пактов? - PullRequest
0 голосов
/ 12 ноября 2018

, чтобы автоматизировать тестирование по контракту, используя веб-хиты pact-брокеров, я создал настраиваемое событие contract_content_changed с заданием jenkins. но когда я пытался добавить webhook для конвейера клиента, который вызывается публикацией результатов проверки, он несколько раз заканчивался неудачей.

{"consumer": {
    "name": "Consumer Service"
  },
  "provider": {
    "name": "Provider Service"
  },
  "events": [
    {
      "name": "provider_verification_published"
    }
  ],
  "request": {
    "method": "POST",
    "url": "http://jenkinsserver/jobforconsumerdeployment",
    "headers": {
      "Accept": "application/json"
    },
   "body": {"VerificationResultURL","${pactbroker.verificationResultUrl}"
    }
}

после удаления элемента body он успешно создан. передавая тело клиенту, он может проанализировать сбой / передачу и решить, должно ли развертывание идти или нет.

если тело не разрешено, как потребительский конвейер получит результат и продолжит следующий шаг (или остановит развертывание)?

Я имею в виду Pact Broker Webhooks .

1 Ответ

0 голосов
/ 14 ноября 2018
  1. Сконфигурируйте задание Jenkins для «Удаленного запуска триггеров» из раздела «Триггеры сборки»
  2. Сгенерируйте Jenkins-Crumb по следующей ссылке Шаги по созданию Jenkins-Crumb
  3. Следующий пост-запрос в Pact-Broker отлично работает на моем локальная настройка jenkins (необходимо включить разрешения jenkin для включения веб-хук исполнения) { "events": [{ "name": "provider_verification_published" }], "request": { "method": "GET", "url": "http://username:password@jenkins_url/job/jenkin_consumer/build?token=abc", "user" : "username:password", "headers": { "Jenkins-Crumb": "c787ce16220300f5ef8287a4474d9acxd" } } }

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

Да, тело не допускается в случае события provider_verification_published. Таким образом, чтобы подтвердить результаты проверки, нам нужно использовать «can-i-deploy» cli, чтобы развернуть или остановить развертывание can-i-deploy . Более подробная информация о Pact Broker Webhooks

...