为什么$ payload是一个空变量?

时间:2019-02-06 01:49:43

标签: shell jenkins github webhooks jenkins-github-plugin

软件版本: github-plugin版本1.29.3
詹金斯版2.163 nginx反向代理

当前状态,没有通信问题,并且可以通过推送事件构建触发器。但是$ payload中没有值

GitHub配置:

Github Webhook :在回购中 https://username:password@publicIP:port/github-webhook/

内容类型(同时测试了application / x-www-form-url-urlencoded和application / json)

事件类型:只是推送事件

..

Jenkins配置:

GitHub项目:填充有项目URL

该项目已参数化:字符串参数有效载荷

源代码管理: REPO URL和Creds Branch Master

构建触发器:用于GITScm轮询的GitHub webhook触发器

构建Execute Shell:


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

输出:$ payload的值为空白 the build worked! The payload is

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:-1)

下面是解析“名称”和“电子邮件”的一种简单而又肮脏的简单方法,将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 ,)