
Microsoft Project YouGile Mail Bridge
Desktop-приложение для автоматической передачи задач из Microsoft Project в YouGile через Email-шлюз. Поддерживает несколько проектов, индивидуальные SMTP-настройки, очереди задач, рабочие календари Microsoft Project и историю отправки.
О программе
Microsoft Project YouGile Mail Bridge — desktop-приложение для автоматической передачи задач из Microsoft Project в YouGile через Email-шлюз. Программа использует XML-экспорт Microsoft Project как источник данных, отбирает задачи по заданным правилам, формирует очередь и отправляет их на email проекта YouGile через SMTP.
Приложение рассчитано на работу сразу с несколькими проектами. Для каждого проекта отдельно задаются XML-файл, адрес YouGile, SMTP-сервер, почтовая учётная запись, email отправителя, время автоматической отправки и часовой пояс.
Возможности
- работа с несколькими проектами одновременно без программного ограничения их количества;
- отдельные XML, YouGile Email и SMTP-настройки для каждого проекта;
- постоянный режим наблюдения и безопасный разовый запуск;
- ручное сканирование XML и формирование очереди задач;
- автоматическая и ручная отправка задач в YouGile;
- повторная отправка ранее отправленных задач и восстановление после ошибок;
- отдельные статусы задач
BASELINE,PENDING,ERRORиSENT; - защита от повторной отправки по GUID задачи;
- фильтрация выполненных и просроченных задач;
- поиск и массовый выбор задач;
- история отправки и журнал событий;
- резервная отправка XML на отдельный email;
- системный трей и автозапуск Windows;
- графический интерфейс и CLI-режим.
Microsoft Project и рабочие календари
Основной датой для автоматической отправки является Task/Start из XML Microsoft Project. Горизонт отправки рассчитывается с учётом рабочего календаря проекта: базовых календарей, рабочих недель и исключений.
Для защиты от дублей используется GUID задачи. После успешной обычной отправки задача получает статус SENT и повторно автоматически не отправляется.
Из Microsoft Project отдельно читаются длительность задачи и трудозатраты, поэтому значения Duration и Work не подменяют друг друга.
Multi-Project и SMTP
SMTP не является глобальной настройкой программы. Каждый проект может использовать собственный почтовый сервер, учётную запись и адрес отправителя.
Все включённые проекты обслуживаются общей последовательной очередью. Если один SMTP-канал временно недоступен, защитная пауза применяется только к этому каналу — проекты с другими SMTP-настройками продолжают работу.
Интерфейс
GUI реализован на PySide6 / Qt 6 и использует стиль Qt Fusion. Доступны светлая, тёмная и системная темы.
Главное окно включает:
- таблицу проектов;
- поиск по названию проекта, XML и адресу YouGile;
- вкладки «Все задачи», «Задачи для отправки», «Отправленные задачи» и «Журнал событий»;
- строку состояния с количеством проектов, очередью, отправленными задачами и ошибками;
- контекстное меню проектов;
- управление наблюдением за всеми включёнными проектами.
Хранение состояния
Состояние синхронизации хранится локально в SQLite. В базе сохраняются идентификаторы проектов и задач, статусы, снимки данных и история обработки. Логи приложения и история отправки ведутся отдельно.
GUI и CLI
В одном проекте доступны две версии программы:
- GUI — для обычной работы и настройки через графический интерфейс;
- CLI — для автоматизированных сценариев и запуска без графической оболочки.
Обе версии используют общие настройки, SQLite-базу и логи.
Технологии
Python · PySide6 / Qt 6 · SQLite · XML · SMTP · Microsoft Project · YouGile