2017-08-08 28 views
1

私はジェンキンスの初心者です。私はこれに続いて、Jenkins、Github、Webhookを実装するためにhelpを実行しました。ジェンキンスのペイロードパラメータを取得

しかし、私はこの問題に悩まされています。ジェンキンスのペイロードパラメータを取得して、ペイロード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. あなたはジェンキンスとの通信を開始しますこれでGitHubの中にウェブフックを設定します。これはあなたのGitHubリポジトリ - >設定 - > Webフックで簡単に行えます。

  2. application-x-www-form-encodedのようにcontent-typeのエントリを作成します。

  3. プッシュイベントとしてイベントを選択します。
  4. Jenkins ServerでStringパラメータを "payload"の名前で作成します。
  5. 次のステップ3 GitHubはこの変数にコンテンツをラップしてJenkinsに送信できます。
  6. ジェンキンスでは、ビルドが開始されるときに$ payload変数を読み取ることができます。
  7. 解析お好み

参考資料のライブラリ使用してJSON:JSONを解析するための余分なライブラリをせずに、ジェンキンスでGeneric Webhook Trigger Pluginを使用されるだろう、これを行うの How to process a github webhook payload in Jenkins? https://developer.github.com/webhooks/#payloads

+0

github Webフックでプッシュイベントを有効にしましたが、ジェンキンにペイロード変数をロードできませんでした。何か案が? – BeginnersSake

1

簡単な方法を。

JSONPathを使用してJSONから任意の値を解決し、ビルドで使用可能な変数に割り当てることができます。

関連する問題