One of the most important aspects of a good Continuous Integration (CI) process is quick feedback whenever there is a change. This means that it is important to execute builds as soon as possible after a code change is pushed to source control. One of the best ways to do this with GitHub and Jenkins is to use webhooks to have GitHub notify Jenkins when there is a change so that Jenkins can automatically start the build.
- Create Personal Access token in GitHub by going to | Profile | Settings | Developers Settings
- Personal access tokens
Personal access tokens function like ordinary OAuth access tokens. They can be used instead of a password for Git over HTTPS, or can be used to authenticate to the API over Basic Authentication.
My personal access token is called “Jenkins” and select Admin:repo_hook and click Generate Token
- Copy your personal access token
- Now go to Jenkins
Manage Jenkins | Configure System and add GitHub Server
- Add Jenkins to GitHub Server
- For Kind Select Secret Text and copy and past secret key from personal access token (Step 3). Create a name for ID and Description and ADD
- Click drop down in credentials and select new credentials which we just created. In my case I called it as “GitHubKey” Make sure Manage Hook SELECTED
- Now go back to your project and the GitHub URL in Source Code Management and under Build Triggers select GitHub Hook Triggers GitSCM poling
- To verify, go to your GitHub Repository | Settings | WebHooks