Почему $payload является пустой переменной?

Версии программного обеспечения: GitHub-плагин версии 1.29.3
Дженкинс вер. 2.163 обратный прокси nginx

Текущее состояние Нет проблем со связью, и триггеры сборки из события push. Однако нет значений в $payload

Конфигурация GitHub:

Github Webhook: репо https: // имя пользователя: пароль @ publicIP: порт / github-webhook /

Тип содержимого (проверено как application/x-www-form-url-urlencoded & application/json)

Тип события: Просто push-событие

..

Конфигурация Jenkins:

Проект GitHub: заполнен URL проекта

Этот проект параметризован: String Параметр Полезная нагрузка

Управление исходным кодом: REPO URL & Creds Master Master

Триггеры сборки: триггер GitHub для подключения к Интернету для опроса GITScm

Сборка Выполнить Shell:


echo "the build worked! The payload is $payload"

Вывод: пуст для $payloadthe build worked! The payload is

2 ответа

Решил использовать универсальный плагин триггера Webhook https://wiki.jenkins.io/display/JENKINS/Generic+Webhook+Trigger+Plugin

Ниже приведен простой и быстрый способ разбора "имени" и "электронной почты", рассматривающий файл JSON как необработанный текст (который, конечно, имеет свои предостережения).

name=$(grep pusher -A5 <your_json_file> | grep  name | cut -d':' -f2 | cut -d' ' -f2 | tr -d \" | tr -d ,)
email=$(grep pusher -A5 <your_json_file> | grep email | cut -d':' -f2 | cut -d' ' -f2 | tr -d \" | tr -d ,)
Другие вопросы по тегам