Edited at

JenkinsのGit Pluginでリポジトリからのプッシュ通知を受け取る

More than 3 years have passed since last update.

リポジトリのWebフック設定して叩くときとかの参考に


Git Pluginインストール

JenkinsのGit Pluginはリポジトリからのプッシュ通知を手軽に受け取れる仕組みが用意されています。

Git Plugin - Jenkins - Jenkins Wiki

Jenkinsの管理 > プラグインの管理 > 利用可能タブ

から適当にフィルタ掛けてGit Pluginをインストールします。


ポーリング設定

ポーリングというと定期的にジョブ実行するあれですが

Git Pluginでプッシュ通知受け取る際にもポーリングを有効にしておく必要があります。

スクリーンショット 2015-01-31 2.08.05.png

No schedules so will never runと出ますが無視してok


CSRF対策を無効にする

Git Pluginのバグな気もしますが、CSRF対策が有効になっていると以下のような403エラーが返ってきたりします。

HTTP ERROR 403

Problem accessing /git/notifyCommit. Reason:

No valid crumb was included in the request

Jenkinsの管理 > グローバルセキュリティの設定

でCSRF対策のチェックを外しましょう。(外していいのか疑問が残るが...)

スクリーンショット 2015-01-31 2.41.40.png


リポジトリからのアクセスを通す

各環境などによると思いますが、例えばリポジトリが置いてあるIPからのアクセスを許可しとくとかそいういうのを忘れずに。


いざ叩く

http://<Jenkinsサーバー>/git/notifyCommit?url=<リポジトリURL>

を適当に埋めて叩けば無事ジョブが実行されるはずです。

Webフックで叩く場合は上記URLを設定して下さい。

ちなみにGit Pluginのwikiでは

http://<Jenkinsサーバー>/jenkins/git/notifyCommit?url=<リポジトリURL>

となっていますが/jenkinsはいらないようです。