GitHub provides us with a way to allow other applications such as discord to connect it and receive POST requests whenever any action is done on your repository.
This can be useful if you find the email notifications not as instant as you'd want them to be.
Prerequisites
- You need to have a GitHub account with a repository.
- You need to have a discord server where we will add the webhook.
1. Create the webhook
A webhook is basically a link that will allow other applications to post into discord.
To create a webhook, head into your server settings
=> integrations
=> New webhook
You can give your webhook a name and also choose which channel it will be posting to. You can click on Copy Webhook URL
to copy the link which we are going to use on our GitHub repository.
2. Add Discord webhook to GitHub
After creating the webhook the next thing is to add it to your github repository from which you would like to get notifications.
Head over to your repo then settings
=> Webhooks
=> Add webhook
Paste the link we copied earlier from discord in the Payload URL
and make sure to add /github
at the end or it will not work.
Set the Content type
to application/json
and finally choose the events which should trigger the webhook. Personally, I want everything.
After you are done you can click the green button at the bottom labeled Add webhook
to complete the process.
If you have done it correctly you should receive a similar notification to this;
3. Test the webhook
To test the webhook we can perform a simple action such as creating an issue on the repo which we just added the webhook.
Upon creating the issue. You should immediately receive a notification from discord on whatever device you have installed it on.
It will work the same way when pushing commits, creating PRs ...etc
Thank You for reading❤️. If you have any questions feel free to drop them in the comments section below and I'll be glad to answer them.
Top comments (13)
FIX: add /github to the end of the webhook or it will not work!
thanks
Thanks! This helped me.
Updated 🙂
is there a way to filter the data is provided from GH?
IE: only notify on bugs created[new issue + label: bug]
Thanks.
Yes it possible to narrow down what events you want to receive. You can select the
Let me select individual events.
to see the wide range of events to choose fromI saw that option but there is nothing that lets you aggregate a
label.contains('bug')
If there is pls, could you point to the specific check boxes to check
Thanks.
ATM I'm moving towards GH workflow with github.com/marketplace/actions/dis...
Perfect tutorial, concise and easy to follow 10/10 :)
Thanks, man! Worked perfectly
Thanks it working on my end💥
Thankk youu, your article is amazing. it's very useful for mee....
Glad it could help
You saved my day!
This webhook only connects a particular repo or covers all the repos of an github account?? @inezabonte