Данный бот отслеживает активность в организации битбакета и отправляет сообщения о пул реквестах, комментариях, апрувах и мержах в телеграм чат проекта
- Откройте телеграм
- Найдите аккаунт @BotFather
- Следуйте инструкциям BotFather чтобы создать нового бота
- Скопируйте бот токен
- Зайдите в настройки бота (BotSettings) и отключите Privacy mode во вкладке Group Privacy
- Добавьте бота в чат проекта.
- Скопируйте ID чата. Его можно узнать в URL (последние цифры). Например #/im?p=g134321707 ID чата "-134321707"
Заргузите код бота на ваш рабочий сервер.
Для того, чтобы бот работал, нужно создать переменные окружения, в которых необходимо указать свой телеграм токен, полученный от BotFather, а так же ID телеграм чата, куда в хотите получать сообщения
В папке проекта создайте файл .env
, откройте его и добавьте туда код ниже. Замените значения в <> на реальные:
BOT_TELEGRAM_TOKEN=<your-telegram-bot-token>
BOT_CHAT=<your-telegram-chat>
Затем в терминале выполните следующие команды:
set -a
. .env
set +a
- Зайдите в Битбакет и создайте репозиторий
- Зайдите в настройки репозитория (Settings) во вкладку Webhooks
- Создайте вебхуки. При создании отмечайте только соотвествующие действия во вкладке "Triggers", которые вы хотите отследить. Например для вебхука "PR Created" отметьте только "Pull Request > Created" и т.д.
Таблица вебхуков:
Title | URL |
---|---|
PR Created | <адресСервераСБотом>:порт/pull_request_created |
PR Commented | <адресСервераСБотом>:порт/pull_request_commented |
PR Approved | <адресСервераСБотом>:порт/pull_request_approved |
PR Merged | <адресСервераСБотом>:порт/pull_request_merged |
PR Declined | <адресСервераСБотом>:порт/pull_request_declined |
Выполните команду make build
Затем make build_docker
И наконец запустите контенер командой docker run -d -p порт:порт bitbucketbot
Если докер не видит ваши переменные окружения, передайте их внутрь контенера флагами -e
Попробуйте отправить ПР в ваш репозиторий и получить оповещение об этом от бота!