Application to retrieve GitHub updates and send them through Discord webhooks.
Warning
This project is not longer maintained in favor of better tools like n8n, Make, Pipedream, Zapier, etc.
The purpose of this application is to retrieve GitHub updates than Discord webhooks cannot process successfully due to the expected format of the payload from Discord.
-
Node.js - Version 22.x
-
PNPM - Version 9.x
-
Discord Webhook URL
-
Environment variables:
Variable Type Description Required Default Example HTTPS_CERT_FILEPATHString The file path of the HTTPS certificate file No None /path/to/cert.pemHTTPS_KEY_FILEPATHString The file path of the HTTPS key file No None /path/to/key.pemNODE_ENVString The environment where the application is running No None developmentPORTNumber The port where the HTTP server will be running No 30009020PUBLIC_HOST_ADDRESSString The public address where the application is running Yes None example.comSHOULD_USE_HTTPSBoolean Whether the application should use HTTPS No falsetrueNote:
- The
NODE_ENVvariable is used to determine the environment where the application is running. It is highly recommended to set it toproductionwhen deploying the application to a production environment.
- The
gollum
Whenever you want to apply changes to the application, you must build the application in order to apply the changes.
In order to build the application, you must install the dependencies using the following command:
$ pnpm installAfter installing the dependencies, you can build the application using the following command:
$ pnpm buildIn order to run the application using Docker, you must have Docker installed on your machine.
For running the application with Docker, you will need to mount both
the SSL cert and key files using Docker volumes
and map port 3000 to your host machine.
-
Windows
> docker run -dp 8080:8080 \ -v <path\to\ssl-cert>:${HTTPS_CERT_FILEPATH} \ -v <path\to\ssl-key>:${HTTPS_KEY_FILEPATH} \ --env-file <path\to\env\file> \ --name <container-name> \ juansecu/github-discord-updater:v<version number>
-
MacOS/Linux
$ docker run -dp 3000:3000 \ --env-file <path/to/env/file> \ --name <container-name> \ juansecu/github-discord-updater:v<version number>
For running the application with Docker Compose, you can use the Docker Compose file provided in this repository for development and production.
After configuring the environment variables, you can run the application using the following command:
$ docker compose up -dIn order to run the application using Node.js, you must have Node.js installed on your machine, and have PNPM installed globally on your machine.
For checking if you have PNPM installed globally on your machine, you can run the following command:
$ pnpm --versionIf you don't have PNPM installed globally on your machine, you can install it using the following commands:
# Enable Corepack
$ corepack enable
# Install PNPM
$ corepack prepare pnpm@latest-8 --activateAfter installing PNPM, you can run the following command to install the dependencies:
# Development
$ pnpm install
# Production
$ pnpm install --prodAfter installing the dependencies, you can run the following command to start the application:
# Development
$ pnpm run start:dev
# Production
$ pnpm run start:prodFor learning how to use the application, you can
check the API documentation by visiting the path
/api-docs on the application's URL.
Once you understand how to use the application, you can start using it to retrieve GitHub updates by adding the application's URL as a webhook to the GitHub repository you want to retrieve updates from.