Почему $ payload является пустой переменной? - PullRequest
0 голосов
/ 06 февраля 2019

Версии программного обеспечения: github-plugin версия 1.29.3
Jenkins ver.2.163 обратный прокси-сервер nginx

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

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

Github Webhook : в репо https://username:password@publicIP:port/github-webhook/

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

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

..

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

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

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

Управление исходным кодом: URL-адрес РЕПО и ведущий ветки Creds

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

Оболочка выполнения сборки:


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

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

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

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

0 голосов
/ 06 февраля 2019

Ниже приведен простой быстрый и грязный способ разбора «имени» и «электронной почты», рассматривающий файл 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 ,)
...