-
Release v1.9.0 Stable
released this
2026-07-07 11:12:45 +07:00 | 37 commits to main since this releaseredmine-reporter v1.9.0
Дата: 07.07.2026
Новое
-
YAML-конфиг — полная настройка через
~/.config/redmine-reporter/config.yml. Секции:redmine(url, api_key, author, verify_ssl),period(precision, default_from/to, dynamic, last_used),output(dir, шаблон имени, default_format),email(настройки SMTP). Подстановка${VAR}для секретов.--init-configгенерирует файл из.env. Автозагрузка при каждом запуске. Права:0600на файл,0700на директорию. -
Умное разрешение
--output(#43) — путь к файлу формируется с учётом YAML-конфига:--output xlsx(только формат) → путь по шаблону:output.dir+output.filename--output /путь/report(без расширения) → дописываетсяoutput.default_format--output /путь/report.csv(с расширением) → как есть- Шаблон поддерживает
{author},{from},{to},{date}(DD_MM_YYYY),{ext}
-
Точность периода до секунды (#47) —
period.precision: datetime. При наличииlast_usedв конфиге повторный запуск отсекает time entries, у которых оба поляcreated_onиupdated_onраньше cutoff (AND-логика). Исключает дублирование при нескольких запусках в течение дня. -
--commit(#44) — автосохранение отчёта в файл и фиксация периода вperiod.last_used.from/toYAML-конфига:- С
--output→ по явному пути - Без
--output→ по шаблону из конфига period.dynamic: true→ следующий запуск сам вычисляет новый период: полный месяц → следующий месяц, произвольный диапазон → та же длина со сдвигомperiod.dynamic: false→ перезаписываетdefault_from/default_toзакоммиченными значениями- При
period.precision: datetime→ сохраняет время с точностью до секунды
- С
-
Плейсхолдер
{date}— в шаблоне имени файла раскрывается вDD_MM_YYYYот конечной даты
Изменения
verify_ssl: trueв YAML теперь даёт путь к CA-бандлу (/etc/ssl/certs/ca-certificates.crt), а не Python-буль- YAML-конфиг подгружается автоматически при каждом запуске CLI
--outputбез расширения больше не ошибка — дописываетсяdefault_formatfetch_issues_with_spent_time()пропускает задачи без часов после дедупликации_resolve_str()вAppConfigподдерживает вложенные ключи YAML (до 3 уровней)- В mypy добавлены в игнор:
yaml,requests,urllib3.*
Внутреннее
- +56 тестов (всего 218). Новые классы:
TestResolveOutputPath,TestSavePeriodToConfig,TestCommitFlag,TestComputeNextPeriod,TestDefaultDateRangeWithLastUsed,TestConfigPeriodPrecision - Новые функции:
resolve_output_path(),save_period_to_config(),compute_next_period(),_parse_datetime(),_compute_dedup_cutoff() - Новый датакласс:
PeriodLastUsed - Новые поля
AppConfig:period_last_used_from/to,output_dir/filename/default_format - Новые методы
Config:get_period_precision(),get_last_used_from/to(),get_output_dir/filename/default_format()
Обновление с v1.8.1
# Сгенерировать YAML-конфиг из .env redmine-reporter --init-config # Настроить точность и автосдвиг периода vim ~/.config/redmine-reporter/config.yml # period.precision: datetime # period.dynamic: true # Ежедневный/ежемесячный рабочий процесс: redmine-reporter --commit # сгенерировать + сохранить + запомнить период redmine-reporter --commit --output odt # выбрать формат redmine-reporter # просто в консольDownloads
-