Живой разговор с нашим экспертом, не больше получаса
Узнаете, как быстро перейти в Пачку из Slack, Telegram или другого мессенджера
Сориентируетесь по ценам и скидкам
Посмотрите, как работает Пачка: основные функции и интеграции
Передовые компании выбирают Пачку
Демонстрация Пачки
Мы свяжемся с вами в течение дня и договоримся о времени.
Спасибо! Ваша заявка была получена!
Запись в данный момент недоступна. Попробуйте ещё раз позднее.
21.5.2024
Продвинутая интеграция GitHub + Пачка
Скрипт: Расширенное оповещение о статусах Pull Request в теле сообщения и треде Язык: TypeScript Cложность: Высокая Автор: Павел Голубев, frontend lead Репозиторий:https://github.com/pachca/review-bot
Интеграция позволит соединить ваш репозиторий GitHub, таск-трекер команды и Пачку. Вы всегда будете знать статусы задач и сможете быстро обсуждать их в тредах.
Описание интеграции
Когда в вашем репозитории появляется новый Pull Request (PR), бот Пачки создает сообщение в чате со статусом и автором.
Все важные изменения в PR отображаются в треде и обновляют статус в родительском сообщении.
Используйте одинаковые никнеймы в github и Пачке, тогда в сообщениях от бота будут подсвечиваться правильные профили в Пачке.
Что подсвечивается в основном (родительском) сообщении
Название Pull Request
Ссылка на GitHub
Ccылка на задачу в таск-трекере (в данном примере прикрепляется ссылка на Linear, вы можете изменить его на любой другой сервис. Например, на Jira или Asana)
Ник автора Pull Request
Статус задачи (🏗️ В работе, 🧑🍼 Ожидает первого ревью, 👌 Заапрувлено, 🎉 Смержен, ❌ Закрыт)
Какие статусы подсвечиваются в треде под сообщением
🆕 @name создал PR
✏️ @name запросил правки
📣 @name1 запросил ревью от @name2
📣 @name отметил себя ревьюером
👏 @name заапрувил
🏗️ @name сделал rebase
🎉 @name смержил PR
🏗️ @name отредактировал заголовок Cтарое название задачи -> Новое название задачи
🩹 Ошибка CI - #number_task@name ↳ Lint helpers ↳ Typecheck
Этап 1. Создайте бота в Пачке
Перейдите в раздел «Автоматизации» → «Интеграции»
Откройте в раздел «Чат-боты и вебхуки»
Создайте нового бота, используя иконку "+”. Затем придумайте боту название и аватарку
Скопируйте access_token бота, это можно сделать во вкладке «API» в настройках бота
Добавьте бота в чат, в котором вы хотите получать уведомления о Pull Request. Для этого внутри чата нажмите “Информация о чате” → “Интеграции” → “Добавить интеграцию”
Запишите chat_id, он понадобится при размещении на сервере (этап 5). Chat_id можно найти в адресной строке Web-версии Пачки. Например, у чата https://app.pachca.com/chats/8458483 id будет 845848
Этап 2. Включите вебхуки в github репозитории
Перейдите в репозиторий → Settings → Webhooks → Add webhook
Укажите url, на который будут приходить вебхуки. О том, как получить url, рассказали в блоке про размещение интеграции на сервере (этап 5)
Укажите Content type: application\json
Выберите “Let me select individual events” и отметьте чек-боксами:
Также вы можете отредактировать index.ts под свои нужны и собрать файл самостоятельно.
bun i bun run build
Используйте bun вместо npm\node, чтобы работать напрямую c index.ts без этапа сборки.
Этап 5. Разместите интеграцию на сервере
Вариант 1. Размещение на облачных функциях Яндекс
При выборе этого способа не нужно будет поддерживать работу собственного сервера. Яндекс Облако предоставляет бесплатно 1млн вызовов функции в месяц, что более чем достаточно для бота.
Переместите содержимое module.exports.handler внутрь функции вашего веб-сервера и замените возвращаемые ответы на подходящий формат.
Примечания к скрипту
Постарались сделать удобный гайд для того, чтобы вы смогли быстро настроить интеграцию с Github в Пачке. Актуальный ReadMe можно всегда найти в репозитории https://github.com/pachca/review-bot
Если вдруг что-то не получилось, описание непонятно или хотелось бы увидеть дополнительные функции в интеграции, то мы всегда будем рады пообщаться с вами, чтобы улучшить инструкцию.
Для этого напишите нашей команде поддержки в Телеграм бот