Telegram bot for Jira project monitoring — track issue changes and get instant notifications with team reports, built with NestJS and PostgreSQL.
Jira Watcher Bot is a full-stack integration service that connects Jira projects with Telegram group chats via webhook events. Add the bot to your team group, link your Jira project and get real-time notifications on issue status changes, assignee updates and task renames — built with NestJS and PostgreSQL.
- Telegram bot — registers users on
/startand greets them by name - Jira webhook — receives and processes issue events in real time
- Change tracking — detects status transitions, assignee changes and summary edits
- Group notifications — sends formatted HTML messages to a Telegram group chat
- User storage — saves Telegram users to PostgreSQL on first interaction
- Jira account linking — optionally link Telegram user to a Jira account
- Team report — show how many issues are in progress per group member
| Flow | Description |
|---|---|
| /start command | Bot registers user in DB and sends a personal greeting |
| Jira event | Webhook received → parsed → notification sent to group |
| Report command | Bot replies with per-member in-progress issue count |
| Method | Endpoint | Description |
|---|---|---|
POST |
/webhook/telegram |
Receive updates from Telegram |
POST |
/webhook/jira |
Receive issue events from Jira |
| Technology | Purpose |
|---|---|
| NestJS | Backend framework |
| TypeScript | Type safety |
| TypeORM | Database ORM |
| PostgreSQL | User and event storage |
| Telegraf | Telegram Bot API client |
| Axios | HTTP requests to Jira API |
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Start in development mode
npm run start:devTELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_GROUP_CHAT_ID=-100xxxxxxxxx
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASS=password
DB_NAME=jira_botRequires a public HTTPS domain for Telegram and Jira webhooks. If you don't have a server, use ngrok for local development.
Designed and developed by Ihor Yanchuk