Where these instructions talk about "Manage hook URLs", they are referring to a single check box that you can get to by doing (from a Master or Client Master only)
Manage Jenkins > Configure System > GitHub > GitHub Servers and add one. Then you have to enter the GitHub URL, whether its at github.com or is an enterprise github instance with some local URL to your network.
Then you have to enter credentials to allow access to the GitHub instance (and the credentials have to have admin permission (or maybe somewhat less) to be able to create the hook.
But that only matters if you select the box "Manage hook URLs" because it won't try to use the credentials you entered on line n-1 if you you unselect the check box on line n. (The order is confusing if not utterly wrong.)
Note that when I went to this page from Google without logging in, I did not see any images and that left the text-only content very confusing. Particularly mentioning "Manage hook URLs" without any context whatsoever. Its a little better with images but still doesn't tell how to get to the page.
It is not intuitive that you go to add a build job and click to automatically build on a change but that doesn't work until you go to a whole different place in a different part of the web app to check a box and enter GitHub access info. But that is what this article describes.
"Build when a change is pushed to GitHub" has been oddly reworded to "GitHub hook trigger for GITScm polling" by https://github.com/jenkinsci/github-plugin/pull/162
In the mean time, the build behavior seems changed and not controllable from Jenkins anymore.
Typo in section 3A.- : "None Multibranch" should be Non-Multibranch?
As of Jenkins 2.73.3:
"Manage hook URLs" checkbox is now "Manage hooks", and my experience agrees with @Carsique: it doesn't seem to matter what you set it to, you still have to go to GitHub and input your webhook URL. Names have changed in GitHub, too (I'm using GitHub Enterprise):
Since the automatic "Manage hooks" doesn't work, go to the GitHub repository you are working with, select Setting > Hooks & services. Select "Add webhook" In the "Payload URL" field, enter your httpx://<JENKINS_URL>/github-webhook/ url. "Content type" - doesn't matter. "Secret" - I left this blank. "Just the push event." - trigger event "Active" - checkbox filled. Then select green "Add webhook" button.
FWIW, instead of adding a webhook, I tried adding the Jenkins (Git plugin) service on the GitHub Settings>Hooks & services page. It didn't work for me.
is there a way to perform a different action from a Jenkinsfile according to the specific event received via webhook? Like differentiating the actions taken if the event is a push or a deployment, etc.
is there a way to perform a different action from a Jenkinsfile according to the specific event received via webhook? Like differentiating the actions taken if the event is a push or a deployment, etc.
Comments
9 comments
Where these instructions talk about "Manage hook URLs", they are referring to a single check box that you can get to by doing (from a Master or Client Master only)
Manage Jenkins > Configure System > GitHub > GitHub Servers and add one. Then you have to enter the GitHub URL, whether its at github.com or is an enterprise github instance with some local URL to your network.
Then you have to enter credentials to allow access to the GitHub instance (and the credentials have to have admin permission (or maybe somewhat less) to be able to create the hook.
But that only matters if you select the box "Manage hook URLs" because it won't try to use the credentials you entered on line n-1 if you you unselect the check box on line n. (The order is confusing if not utterly wrong.)
Note that when I went to this page from Google without logging in, I did not see any images and that left the text-only content very confusing. Particularly mentioning "Manage hook URLs" without any context whatsoever. Its a little better with images but still doesn't tell how to get to the page.
It is not intuitive that you go to add a build job and click to automatically build on a change but that doesn't work until you go to a whole different place in a different part of the web app to check a box and enter GitHub access info. But that is what this article describes.
"
Build when a change is pushed to GitHub" has been
oddly reworded to "GitHub hook trigger for GITScm polling" by https://github.com/jenkinsci/github-plugin/pull/162
In the mean time, the build behavior seems changed and not controllable from Jenkins anymore.
Typo in section 3A.- : "None Multibranch" should be Non-Multibranch?
As of Jenkins 2.73.3:
"Manage hook URLs" checkbox is now "Manage hooks", and my experience agrees with @Carsique: it doesn't seem to matter what you set it to, you still have to go to GitHub and input your webhook URL. Names have changed in GitHub, too (I'm using GitHub Enterprise):
Since the automatic "Manage hooks" doesn't work, go to the GitHub repository you are working with, select Setting > Hooks & services.
Select "Add webhook"
In the "Payload URL" field, enter your httpx://<JENKINS_URL>/github-webhook/ url.
"Content type" - doesn't matter.
"Secret" - I left this blank.
"Just the push event." - trigger event
"Active" - checkbox filled.
Then select green "Add webhook" button.
FWIW, instead of adding a webhook, I tried adding the Jenkins (Git plugin) service on the GitHub Settings>Hooks & services page. It didn't work for me.
@Lee Meador, @Julien Carsique, @Gene Ratzlaff.
We have recently updated this article. Please let us know if you find it clearer or you have found any issues.
Regards,
"auto creating token does not work ..."
But no instructions on how to create the token by hand are given.
Hi Lee Meador
> But no instructions on how to create the token by hand are given.
In case it does not work for you, create your own API token as explained in https://github.com/blog/1509-personal-api-tokens
Regards
Hi, as I go through it I found topic named:
A.3 Manage hooks
Automatic Mode (Recommended)
In this whats exactly Automatic mode and we can set it to enabled, if we use multi-branch pipeline how we can proceed with hook triggering.
Hi,
is there a way to perform a different action from a Jenkinsfile according to the specific event received via webhook? Like differentiating the actions taken if the event is a push or a deployment, etc.
Thanks,
Christian
Hi,
@Deepti Singh
If we use multi-branch pipeline how we can proceed with hook triggering.
Multibranch Pipelines and Github Organization Folders create webhooks automatically as long as you configured the job and GitHub plugin correctly as explained in the guide.
@Christian Pinto
is there a way to perform a different action from a Jenkinsfile according to the specific event received via webhook? Like differentiating the actions taken if the event is a push or a deployment, etc.
CloudBees offers the External HTTP Endpoint feature which might help you with this request. Look at this example.
Best Regards,
Please sign in to leave a comment.