GitHub Webhook: Pipeline Multibranch

Issue

Environment

Jenkins

Plugins

Github

Resolution

On Jenkins

A. Plugin Configuration

GitHub plugin as explained in GitHub Webhook configuration.

For GitHub Branch Source in case you wish to integrate with a GitHub Enterprise, it needs to be added in Manage Jenkins > Configure System > GitHub Enterprise Servers in order to fetch repositories from that endpoint.

GHE-apiEndpoints.png

B. Job Configuration

Create a Multibranch Pipeline job/item with the following considerations:

  1. Branch Sources > Add source > GitHub Select the API endpoint
  2. For Owner use the organization
  3. Select on of the fetched Repository from the Owner.
  4. For Credential use Username and Password, typing as password the personal API Token.
  5. Since SCM API 2.2.4 Behaviors section > Make sure Filter by name is removed unless you only want to discover a subset of branches. If it is configured make sure to include PR-* to Discover Pull Requests.

Notes: Suppress Automatic SCM trigger property: It disables any automatic triggering, not only coming from push / pull request / repository notification but also from branch indexing.

After saving the job, two views area created: one for Branches ( Push events) and another for Pull Request.

GH_webhook_MultiBranch.png

On GitHub

C. Validate GitHub WebHook

Make sure post-receive hooks has been created on GitHub at the Repository specify in the SCM configuration of the job as follows:

  • <JENKINS_URL>/github-webhook/ for Pull request and Push events.

GH_webhook_MultiBranch.png

Troubleshooting

If the post-receive hooks are not there, please review Troubleshooting

Tested products/plugins version

The latest update of this article has been tested with:

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.