Jenkins上でGithubのプルリクエストをビルドできたのでその方法を記録しておく。もちろんGithub enterpriseでも可能
この方法では通常のブランチをビルドできないのでブランチ用とプルリク用にジョブを2つ作らなくてはならないのが欠点
パラメータの設定
プルリクIDを指定するパラメータ
ここではPRというパラメータ名にした。
マージ前か後か選ぶパラメータ
Githubはプルリクを出した時点でマージされたコミットも作成しているようなので、それを選べるようにした。ここではSTATEというパラメータ名にした。
オートマージ不可の場合mergeを選ぶとエラーになると思われる
ソースコード管理の設定
Git→リポジトリ→高度な設定→Refspec に以下を入力
+refs/pull/${PR}/${STATE}:refs/remotes/pr/${PR}/${STATE}
Git→ビルドするブランチ→ブランチ指定子には以下を入力
refs/remotes/pr/${PR}/${STATE}