Skip to content

Instantly share code, notes, and snippets.

@jagrosh
Last active July 21, 2024 06:29
Show Gist options
  • Save jagrosh/5b1761213e33fc5b54ec7f6379034a22 to your computer and use it in GitHub Desktop.
Save jagrosh/5b1761213e33fc5b54ec7f6379034a22 to your computer and use it in GitHub Desktop.
Simple Github -> Discord webhook

Step 1 - Make a Discord Webhook

  1. Find the Discord channel in which you would like to send commits and other updates

  2. In the settings for that channel, find the Webhooks option and create a new webhook. Note: Do NOT give this URL out to the public. Anyone or service can post messages to this channel, without even needing to be in the server. Keep it safe! WebhookDiscord

Step 2 - Set up the webhook on Github

  1. Navigate to your repository on Github, and open the Settings Settings

  2. Select Add Webhook Add

  3. Paste in the webhook url and append /github to the end. Select "Send me everything", set the type to application/json, and then Add Webhook WebhookSettings

  4. Test it by updating something or starring the repository! If it works, you're all set! Star

@arbitrarily
Copy link

Got it working:

1. delete hook

2. create new hook

3. add /github at the end,

4. select content type to `application/json`

my man <3 +1

@Benualdo
Copy link

Benualdo commented Mar 4, 2024

Is it possible to send the whole commit message rather then the first few words?

+1

Displaying the name of the target being build would be nice too (I have 4 .yml workflows and they all just display "build success on master").

@Shreyan1
Copy link

I've found a solution, if there's still X's on your webhook, just straight up delete that and create a new one and Make sure to add /github at the discord webhook after you pasted it, hope this helps!

This works. This is the only thing that works.

Add the /github at the end of the Webhook URL.

@haddercone
Copy link

I'm trying to implement the same. But it is more specific. I looked at the GitHub events, they are more generic and not action specific.
E.g I want to receive a message only when a PR is merged or a certain comment is added to the PR.
Is there a way yo to customise this behaviour?

@creatorrr
Copy link

@0PandaDEV
Copy link

Is it possible to disable the pushing feature for private repos?
image

@NicPWNs
Copy link

NicPWNs commented Jun 1, 2024

Hello all past and future!

I made a Discord bot to make this process a bit easier: GitHub Bot for Discord.

Just add the bot to your Discord server and use /github commands to create/delete subscriptions to various GitHub repo events. It uses the minimum permissions needed and should help make this process easier! ✅

@OneBigLotus
Copy link

Hello all past and future!

I made a Discord bot to make this process a bit easier: GitHub Bot for Discord.

Just add the bot to your Discord server and use /github commands to create/delete subscriptions to various GitHub repo events. It uses the minimum permissions needed and should help make this process easier! ✅

I love that this is a thing! Keep up the good work!_

@The-LukeZ
Copy link

I tried this, Github shows the requests going out with 204 responses coming back, but nothing appears in discord?

I think you haven't add /github at the end :)

@esaruoho
Copy link

worked without a hitch. thanks.

@luisangeldevops
Copy link

any idea why is necesary to add /github at the end?? It work, but...

@haddercone
Copy link

any idea why is necesary to add /github at the end?? It work, but...

Because it helps GitHub to map to a specific endpoint in case of discord.
You can have multiple endpoint on a single domain.

You can achieve this by creating your own endpoints.
E.g. you can create a simple node.js server which has two endpoints /a and /b that do different tasks.

  • Host your node js server on service like render. It will provide you with a domain.
  • Create two different webhooks in GitHub.
  • For each webhook, keep the domain name same but add different endpoints for different GitHub event.

Now you have two webhooks which are mapped to two different GitHub events, but with a single domain name.

@luisangeldevops
Copy link

luisangeldevops commented Jul 17, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment