2017-08-08 82 views
1

我是詹金斯的新手。我遵循這個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

還有,你應該遵循以下幾個步驟:

  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

1

更簡單的方法,不需要額外的庫解析JSON,將使用在詹金斯的Generic Webhook Trigger Plugin

它可以從JSON使用JSONPath解決任何值,並將其分配給在構建可用的變量。