在Jenkins中获取有效载荷参数

问题描述:

我是詹金斯的新手。我遵循这个help来实现Jenkins,Github和Webhook。在Jenkins中获取有效载荷参数

但是,我陷入了这个问题。我想要在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"];'` 

我读了一些教程,但没有成功。

还有,你应该遵循以下几个步骤:

  1. 配置Web钩在GitHub上通过你将开始与詹金斯通信。这可以很容易地转到你的GitHub仓库 - >设置 - > Web钩子。

  2. 制作为内容类型为application/X WWW的形式编码的条目。

  3. 选择事件为Push事件。
  4. 通过名称为“有效内容”在Jenkins Server中创建一个字符串参数。
  5. 继步骤3之后,GitHub将能够将这个内容包装在这个变量中并发送给Jenkins。
  6. 在詹金斯然后你可以看$负载变量时,您的构建中拉开序幕。
  7. 使用您所选择的库

参考解析JSON:这样做的 How to process a github webhook payload in Jenkins? https://developer.github.com/webhooks/#payloads

+0

我能在github网络挂接推动事件,但我没能上加载詹金斯有效载荷变量。任何想法? – BeginnersSake

更简单的方法,不需要额外的库解析JSON,将使用在詹金斯的Generic Webhook Trigger Plugin

它可以从JSON使用JSONPath解决任何值,并将其分配给在构建可用的变量。