Skip to content

Простой JetBrains Space бот, который уведомляет членов чата о произошедших событиях в репозитории.

Notifications You must be signed in to change notification settings

mikhail-shamshurin/GitHub-spam-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub-spam-bot

Простой JetBrains Space бот, который уведомляет членов чата о произошедших событиях в репозитории.

Скриншот сообщений

Оповещения

Бот умеет оповещать о:

  • Push

    • внесение изменений
    • удаление ветки
    • добавление ветки
  • Pull Requests

    • создание запроса на вливание
    • закрытия запроса на вливание
    • уведомление о совершенном вливании

Начало работы

Для использования бота необходимо создать вебхук со следующими настройками:

  • Content type: application/json
  • Let me select individual events:
    • Pull request review comments
    • Pull requests
    • Pushes
    • Pull request reviews

Для того, чтобы запустить бота необходимо указать обязательные параметры внутри main.py:

  • JETBRAINS_ORGANIZATION_DOMAIN_NAME — наименование вашей рабочей группы в Space
  • JETBRAINS_CLIENT_ID — идентификатор приложения (сервисный аккаунт, приложение и т.п., которое будет отправлять собщение)
  • JETBRAINS_CLIENT_SECRET — секретный ключ приложения
  • Маршруты для сообщений

Настройка маршрутизации оповещений

В боте присутствуют настройки маршрутизации и гнорирования сообщений по определенным веткам.

Типы маршрутизации

Внутри файла main.py машруты указываются по 2 путям:

  • PUSH_ROUTE_NAMES — фильтрация по push событию
  • PULL_ROUTE_NAMES — фильтрация по pull событию

Перенаправление определенной ветки

PUSH_ROUTE_NAMES = {
    # DEFAULT — обязательный параметр,
    # который указывает, куда отправлять
    # данные из других branch`ей
    'DEFAULT': "it_github_bot",
    'name-of-branch': 'channel-name' # События в ветке "name-of-branch" будут отправлены в чат 'channel-name'
}

Игнорирование определенной ветки

PUSH_ROUTE_NAMES = {
    # DEFAULT — обязательный параметр,
    # который указывает, куда отправлять
    # данные из других branch`ей
    'DEFAULT': "it_github_bot",
    'name-of-branch': None # События в ветке "name-of-branch" будут проигнорированы,
                           # а все остальное будет направлено в "it_github_bot"
}

Отправлять только определенные ветки

PUSH_ROUTE_NAMES = {
    # DEFAULT — обязательный параметр,
    # который указывает, куда отправлять
    # данные из других branch`ей
    'DEFAULT': None,
    'name-of-branch': 'channel-name' # События в ветке "name-of-branch" будут отправлены в чат 'channel-name'
                                     # а все остальное будет проигнорированно
}

Yandex Cloud

Вы можете ознакомиться с версией для Yandex Cloud Functionsmain—yc.py

About

Простой JetBrains Space бот, который уведомляет членов чата о произошедших событиях в репозитории.

Topics

Resources

Stars

Watchers

Forks

Languages