A real-time CI/CD notification pipeline built with Node-RED.
This project bridges the gap between GitHub and Telegram, allowing developers to receive instant, detailed notifications on their mobile devices whenever a push or commit occurs in their repositories. It utilizes Webhooks for real-time data and Node-RED for logic processing.
- Real-Time Alerts: Receive notifications within seconds of a
git push. - Detailed Insights: The message includes:
- 📁 Repository Name
- 👤 Contributor Name
- 📝 Commit Message / Note
- Multi-Repo Support: Can handle webhooks from multiple repositories simultaneously using a single dynamic flow.
- Smart Filtering: Distinguishes between "Ping" events and actual "Push" data to prevent spam.
- Node-RED: For visual flow-based programming and API handling.
- Node.js: The runtime environment.
- Telegram Bot API: For delivering messages to the end-user.
- GitHub Webhooks: For triggering the events.
- Ngrok: For exposing the local server (localhost) to the internet during development.
It expose the local server to the internet and letting you see the flow.
Here is how the notifications appear on the mobile device:
-
Clone the Repository:
git clone [https://github.com/alicift/NodeRED-GitHub-Telegram-Notifier.git]
-
Import Flow:
- Open Node-RED (
http://localhost:1880). - Go to Menu -> Import.
- Select the
flow.jsonfile from this repository.
- Open Node-RED (
-
Configuration:
- Telegram Sender Node: Add your own Bot Token (from BotFather).
- Function Node: Update the
chatIdvariable with your Telegram User ID.
-
Setup Webhook:
- Start ngrok:
ngrok http 1880 - Go to your GitHub Repo -> Settings -> Webhooks.
- Add Payload URL:
https://your-ngrok-url.ngrok.io/github-webhook - Content type:
application/json
- Start ngrok:
Feel free to fork this project and add new features like "Pull Request" notifications or "Issue Tracking".
Developed by Ali

