我是詹金斯的新手。我按照help来实现Jenkins,Github和Webhook。
然而,我陷入了这个问题。我想在Jenkins中获取有效负载参数,以检查来自有效负载json的更改,操作等信息。
我写了一些脚本来测试。 ACTION
和$payload
始终返回空
# !/bin/bash
ACTION=`echo $payload | php -r '$data = file_get_contents("php://stdin"); $json = json_decode($data, true); echo $json["action"];'`
我阅读了一些教程但未成功。
答案 0 :(得分:3)
在没有额外的库来解析JSON的情况下,更简单的方法就是在Jenkins中使用Generic Webhook Trigger Plugin。
它可以使用JSONPath解析JSON中的任何值,并将其分配给构建中可用的变量。
答案 1 :(得分:1)
您应该遵循以下几个步骤:
在GitHub中配置Web挂钩,您将通过该挂钩开始与Jenkins通信。这可以通过访问您的GitHub存储库轻松实现 - >设置 - >网络挂钩。
将内容类型的条目设为application / x-www-form-encoded。
参考文献: How to process a github webhook payload in Jenkins? https://developer.github.com/webhooks/#payloads