It looks like the GitHubPullRequestBuilder is not compatible with Jenkins v2.0 pipeline jobs.
How do you configure a pipeline job to be triggered from a GitHub pull request event?
The documentation on this topic is sparse and I cannot find any examples of this. Or is it better to create a web-hook in GitHub to trigger the pipeline job on the PR event?
The flow in a nutshell can go like this:
You create your pipeline as code and save it in a file called
Jenkinsfile
at the root dir of your project. That code should describe how your project will get built. See here for examples: https://jenkins.io/doc/pipeline/examples/Then you should create a new "Multibranch Pipeline Project" item in your Jenkins. You should set this up so as to scan your repo of step 1.
Now whenever you get a new PR branch opened on your step 1 repo, the branch will be checked-out and will get built according to the Jenkinsfile instructions included with it. You can set up more conditions on what gets built and when if you want to.
Notes:
"Multibranch Pipeline Project" example documentation: https://jenkins.io/doc/book/pipeline-as-code/ (scroll down to Multibranch Pipeline Projects)
Keep in mind that getting the plugin to build a PR after commending on the PR does not work. There is a discussion analyzing this here: https://github.com/jenkinsci/gitlab-plugin/issues/298 There are workarounds (also described in that discussion) but they are quite messy to set up.
I had similar issue. Here’s what worked for me
Pre-req
On Github
YourJenkinsURL/github-webhook/
On Jenkins
+refs/pull/*:refs/remotes/origin/pr/*
${sha1}
That’s it. You are all set. Creating a PR on master branch of your repo should now trigger your Jenkins Pipeline job
Some observations
Follow the Below Steps for Triggering Jenkins Job Automatically on Pull request generated on GitHub
Jenkins Job Configuration
Download Generic Webhook Trigger in Jenkins
Git Hub Configuration On Jenkins
Git Hub Configuration
7.Select Generic Webhook Trigger on jenkins 8.Generic Webhook Trigger Configuration on Jenkinsand follow step 9
9.After doing step 7 Jenkins job will get trigger on PullRequest 10.Step 8 required to get information from Pull request Payload 11.Branch configuration inside Generic Webhook Trigger to get Branch details from Pull Request
Thanks
The most straightforward way to use Pipeline with GitHub pull requests is to put the script into your repository under the name
Jenkinsfile
and then install the GitHub Branch Source plugin. Documentation