Webhooks
Webhooks are used to trigger lighthouse when you:
- merge commits to your main branch
- open a Pull Request
- push code to a Pull Request branch
- comment on a Pull Request to trigger ChatOps
If webhooks are not working in your cluster then you won’t get ChatOps or pipelines triggered.
Requirements
For webhooks to work you must have a working Ingress
for the hook
endpoint from lighthouse
The ingress defaults to using the domain name specified in ingress.domain
in your jx-requirements.yml
file.
Diagnosing issues
You can check on the health of your system and webhooks via the Health guide
First make sure you have a valid ingress for hook…
# switch to the jx namespace
jx ns jx
kubectl get ing
you should see an ingress with a valid domain name for hook
. Then try curl that URL on the command line…
curl -v http://hook-jx.1.2.3.4.nip.io/hook
and check your laptop can access the endpoint. Do you have a running lighthouse-webhook-*
pod?
kubectl get pod -l app=lighthouse-webhooks
You could look at your pods in jx ui
to see their state, events, logs etc.
If everything looks to be working inside your cluster then open the git repository of your dev cluster…
kubectl get environments
Then click the GIT URL
link for your repository.
Now look at the Webbooks page to see if your git provider could send webhooks to your hook endpoint. On GitHub thats Settings -> Webhooks
It could be your git provider can’t see public ingress endpoint? If thats the case you may need to look at setting up a tunnel via something like ngrok to enable on-premises webhooks
AWS specific issues
If you are using AWS you can check out the AWS docs on using ELB
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.