2016-04-13 6 views
1

私の会社では、すべてのソースをオンラインに保つGithub Enterpriseインスタンスと、継続的な統合を行うJenkinsサーバーがあります。私はJenkinsのJenkins githubプラグインを使い、GithubにMYJENKINS/github-webhookを呼び出すサービスをインストールしています。Jenkins githubプラグインがエラー400を返します。 "フックにイベントタイプが含まれているはずです"

ジェンキンスサーバーのgithubからPOSTが届いていますが、何も起こりません。アクセスログはgithubに返される400のエラーを報告します。

何が返されているかを知るために、私はポートにtcpdumpを入れました。私は今、ジェンキンスが "エラー400フックにはイベントタイプを含めるべきです"と返信していることがわかります。これは、すべてのリポジトリ・イベントのためにそれを返します。

おそらくtcpdumpでgithub POSTペイロードを取得することはできますが、まだそれを行っていません。

私の唯一の推測は、私たちのGithub Enterpriseのインストールが、Jenkinsのgithubプラグインが期待するものよりも前のバージョンだということです。

更新:私はGithubでサービス( "Jenkins github plugin")からWebhookに変更しましたが、同じURLのMY_JENKINS/github-webhook /を使用しました。成功し、githubプラグインによって正常に解析され、プロジェクト/ブランチを見ているジョブがトリガーされます。

答えて

1

Github Enterpriseにはwebhook機能が組み込まれている必要があります.Githubにサービスをインストールしているとはどういう意味でしょうか。

あなたは、次のタブに移動して、新しいウェブフックを設定することができます。ここでは

https://github-enterprise.com/my-org/myrepo >> Settings >> Webhooks & services 

はスクリーンショットです: enter image description here

チェックするために、他の場所を作るために、ジェンキンスの設定ですGithubと連携するように設定されていることを確認してください。ここで

Jenkins >> Manage Jenkins >> Configure System >> Find: GitHub Plugin Configuration 

、あなたはあなたのGithubのための資格情報などのGitHub APIのURLを提供する必要があります。

https://<github-enterprise.com>/api/v3/ 


(あなたがままにすることができるかもしれません[Custom Github API URL]はチェックされていませんが、これでうまくいっていません)

ここにスクリーンショットがあります: enter image description here

「クレデンシャル」はGithubのアクセストークンになります。

Github >> Personal settings >> Personal access tokens 

私はこのような設定を行って、私は何でも間違っているなら、私を修正すること自由に感じてきたので、それはしばらくしています。

+0

はい、あなたの投稿は機能します。 :)しかし、この機能への別のルート、おそらく誤ったルート:Githubリポジトリの設定ページのそのセクションには、 "Webhooks&SERVICES"があります。サービスセクション(Webhooksではなく)には、Jenkinsの/ github-webhook/endpointを使用するための指示がある "Jenkins(Github plugin)"というサービスがあります。私がそのサービスを使用すると、私の質問で言及した400のエラーでコールが失敗します。細かいことありがとう! – Mojo

関連する問題