0

Приготовиться к всплытию

Андрей Пищулин
13 марта 2014 года

Redmine — это прекрасный бесплатный инструмент для управления проектами и задачами, но его система оповещения о событиях использует электронные письма. За все время пользования я так и не научился упорядочивать, быстро отлавливать и реагировать на нужные письма. И искал способ, как быть в курсе всего, но без лишних телодвижений. Хотелось сделать что-то простое на HTML, JS, и работало везде. Тут мне на глаза попалась «всплывашка» расширения для Хрома. Изучив документацию и структуру самого расширения, я понял — это то, что нужно. JavaScript, HTML, богатый функционал Хрома, кроссбраузерные запросы, простота установки, плюс API Редмайна, как самый простой и быстрый способ получить информацию из трекера, — у меня не осталось шансов.

Дальше все просто. Расширение получает с сервера список задач, в которых произошли изменения, сравнивает со списком, который был получен ранее, и после сравнения новые задачи в виде «всплывашек» появляются в углу экрана. Не надо ни за чем следить: информация о задачах появляется сама, достаточно посмотреть и понять нужна она или нет. Если кликнуть по вплывающему окну, страница с задачей откроется в браузере, если ничего не сделать — сохранится в списке всплывашек, который можно потом просмотреть. После трех дней пользования стало понятно, что для всплывающих сообщений необходим какой-то фильтр. Я был админом в Редмайне, видел обновления по задачам всех проектов и просто потонул в потоке. У Редмайна в API есть возможность фильтрации: в параметрах запроса можно задавать автора, проект, время и т. п. Но вместо конкретных названий, например проекта, используются id, прописанные в системе, и получается неудобная и медленная серия из запросов. Поэтому я решил фильтровать в самом расширении и для удобства сделал страницу настроек, на которой задаются параметры фильтров. Фильтров получилось два: первый помогает следить за отдельно взятым параметром задачи, и, задавая, например, фамилию автора или список названий проектов, я сразу вижу изменения задач для этих проектов. Второй — для более хитрых случаев, он отсеивает по нескольким параметрам. По умолчанию задачи со статусом «Closed» API не возвращает, поэтому я оставил возможность добавлять в настройках параметры в запрос к API Редмайна.

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

Ссылка на github: https://github.com/HighTechnologiesCenter/rm_chrome_plugin

Метки: , , ,

Оставить комментарий