
The GitLab bot of Notifine, a free open-source project: send /start and it gives you a webhook URL for the chat; add it in GitLab and pushes, tags, merge requests, pipelines, jobs, issues, comments and deployments arrive in Telegram. Branch filters cut the noise.
Notifine is an open-source set of Telegram bots written in Rust by developer Mehmet Hüseyin Kafadar, who started it because older notification bots kept going down. The GitLab bot has worked since December 2022, and the project publishes a public uptime page for its bots, which showed 100% for the last 90 days when we checked.
Setup takes a minute and needs no GitLab token. Send /start in a personal chat, a group or a forum topic, and the bot replies with a webhook URL on webhook.notifine.com. Paste it in your project under Settings → Webhooks and tick the events you want. Notifine formats commit and tag pushes, merge requests, pipelines, jobs, issues, comments, wiki pages and deployments. GitLab sends a job event for each merge request event, so Notifine relies on job events to avoid duplicates.
Two URL parameters make it practical for busy repositories: ?branch=main,release/* keeps only matching branches and ?exclude_branch=dependabot/* drops the rest, with wildcards supported for push and merge request events. GitLab also has a built-in Telegram integration, but it needs your own bot from BotFather; Notifine saves you that step.
/startGet the webhook URL for this chatFree
| Criterion | Weight | Points | |
|---|---|---|---|
| Functionality | 25 | 8 / 10 | |
| Reliability & speed | 15 | 8 / 10 | |
| Popularity & trust | 15 | 5 / 10 | |
| Price & free tier | 10 | 10 / 10 | |
| Usability | 10 | 8 / 10 | |
| Safety & privacy | 10 | 8 / 10 | |
| Freshness | 5 | 8 / 10 | |
| Localization | 5 | 10 / 10 | |
| No intrusive ads | 5 | 10 / 10 | |
| Score | 100 | 79.5 |
The bot only needs GitLab to reach its webhook URL, so a self-managed instance works if it can send requests to webhook.notifine.com. You can also run Notifine yourself from the repository.
Add ?branch=main to the webhook URL. Branch filters apply to push and merge request events; you can list several branches or use wildcards such as release/*.