Wring.io, a Dispatcher of GitHub Notifications

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

Я принимаю участие в более чем 50 репозиториях на GitHub. Мы управляем всеми нашими проектами там. GitHub присылает мне сотни писем каждый день. Я серьезно. Сотни! Я пытался как-то отфильтровать их в Gmail, но это не совсем возможно. Фильтры Gmail недостаточно мощные, чтобы понимать разницу между различными типами уведомлений, и есть множество других проблем. Я решил создать свою собственную простую систему фильтрации. Она называется wring.io.

Идея wring.io проста. Сначала я регистрирую источники уведомлений (называемые “трубами”), такие как GitHub. Затем я предоставляю wring.io разрешение на подключение к GitHub от моего имени и получение новых данных.

Затем я настраиваю, что должно быть отфильтровано, используя сопоставление текста и/или регулярные выражения. Сразу после создания новой трубы wring.io начинает получать данные из всех моих источников и обновлять мою почту. Все, что мне нужно сделать, это удалить новые сообщения из почты, когда я закончил с ними. Вот и все.

Давайте рассмотрим пример. Сначала я создаю новую трубу:

Это объект JSON. Свойство class должно быть установлено на io.wring.agents.github.AgGithub. Это имя Java-класса, который будет получать мои уведомления с GitHub. Проект является открытым исходным кодом, поэтому вы можете увидеть, как работает этот класс: AgGithub.

Свойство token должно быть установлено на личный токен доступа, который я должен создать сначала в GitHub. Сервер будет подключаться к GitHub от моего имени и с использованием моих учетных данных:

Свойство ignore должно содержать массив строк. Каждый элемент представляет собой шаблон сопоставления. Я могу использовать текст или регулярное выражение. По умолчанию это текст. Если в уведомлении найден точно такой же текст, он будет проигнорирован. Чтобы использовать регулярное выражение, мне нужно обернуть его в косые черты (например /[a-z]+/). Вы можете пропустить это свойство и просто указать этот JSON:

Затем я открываю свою почту и читаю то, что там есть.

Это решение буквально экономит мне много часов времени сейчас. Не стесняйтесь использовать его, оно абсолютно бесплатно. Более того, оно открытое исходное коде, так что не стесняйтесь вносить свой вклад.

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-12-17 at 16:11

sixnines availability badge   GitHub stars