Issue
- How to make GitHub (and/or GitHub Enterprise) trigger jobs from GitHub Organization Folders in Jenkins.
Environment
Jenkins
- CloudBees Jenkins Enterprise - Managed controller (CJEMM)
- CloudBees Jenkins Team (CJT)
- CloudBees Jenkins Platform - Client controller (CJPCM)
- Jenkins LTS
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 organizations from that endpoint.
B. Job Configuration
Steps:
- Branch Sources >
Add source
> GitHub Select the API endpoint - For
Owner
use the organization - For Credential use
Username and Password
, typing as password the personal API Token. - 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 includePR-*
to Discover Pull Requests.
Notes: Automatic branch project triggering > Branch names to build automatically Allows you to control the SCM commit trigger coming from branch indexing.
After saving the job, there is a view with contains all Repositories
.
Each of the repositories contains Branches
and Pull Request
views as explained in [GitHub Webhook Pipeline Multibranch]
On GitHub
C. Validate GitHub WebHook
Make sure post-receive hooks has been created on GitHub at the Organization as follows:
<JENKINS_URL>/github-webhook/
forPull request
,Push
andRepository
events.
Troubleshooting
If the post-receive hooks are not there, please review Troubleshooting
References
Tested products/plugins version
The latest update of this article has been tested with:
3 Comments