Skip to content
This repository was archived by the owner on Aug 19, 2022. It is now read-only.
/ gh-bot Public archive

The worst but simplest webhook bot for GitHub and Matrix.

License

Notifications You must be signed in to change notification settings

jae1911/gh-bot

Folders and files

NameName
Last commit message
Last commit date
Mar 22, 2022
Jan 6, 2022
Jan 13, 2022
Apr 9, 2022
Jan 6, 2022
Jan 6, 2022
Jan 6, 2022
Jan 6, 2022
Jan 13, 2022
Jan 14, 2022
Jan 6, 2022
Jun 2, 2022

Repository files navigation

gh-bot

gh-bot is maybe the worst (but simplest) Matrix webhook bot for Github.

Example of commits: Screenshot of Element showing a list of commits sent by the bot.

Example of workflow finished: Screenshot of Element showing a workflow ended event.

Setting up

Server

You will need a secret key, generate one like this:

ruby -rsecurerandom -e 'puts SecureRandom.hex(20)'

A user token and a Matrix homeserver URL.

Here is an example docker-compose:

version: '2.1'

services:
  image: ghcr.io/jaedotmoe/gh-bot:latest
  environment:
    - SEC_TOKEN=72f38e4c61b28f1c9a17868750f48330e47abd12dummy
    - MATRIX_TOKEN=syt_028ifji4jf82jf20983j03ijdummy
    - MATRIX_HOMESERVER=matrix.example.com
  ports:
    - 5000:5000

You can also add - LOG_ALL_EVENTS=true to the environment variables to log every event sent to webhooks to all rooms via a fi.jae.webhooklog event.

Now, you can invite the bot and it will auto-join room it is invited in every 15 seconds.

Github

Go to your Github repository setting, Webhooks and Add Webhook.
There, set these values:

  • Payload URL: Your exposed URL, for instance https://example.com/gh/webhook
  • Content type: application/json
  • Secret: your generated secret, for instance 72f38e4c61b28f1c9a17868750f48330e47abd12dummy
  • Which events would you like to trigger this webhook: Send me everything.

And then hit Add Webhook.
You are now good to go!

Gitlab

Go to your repo settings, Webhooks and fill with this data:

  • URL: your exposed URL, for instance: https://example.com/gh/gitlab
  • Secret token: your generated secret, for instance 72f38e4c61b28f1c9a17868750f48330e47abd12dummy
  • Trigger: select events you want to receive

And then click on 'Add Webhook' and there you go!

Gitea

Go to your repo settings, Webhooks, Add Webhook, Gitea:

  • Target URL: your endpoint https://example.com/gh/gitea
  • POST Content Type: application/json
  • Secret: your secret, for instance 72f38e4c61b28f1c9a17868750f48330e47abd12dummy
  • Trigger on: all events

Then click 'Add Webhook'.

Support

If you need any help, join the Matrix room.