Автоматизация / Интеграции

Microsoft Project YouGile Mail Bridge

Desktop-приложение для автоматической передачи задач из Microsoft Project в YouGile через Email-шлюз. Поддерживает несколько проектов, индивидуальные SMTP-настройки, очереди задач, рабочие календари Microsoft Project и историю отправки.

PythonPySide6SQLiteXMLSMTP

О программе

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

Авторизация