feat(cli): dynamic default range, --version, --verbose, --debug, --url, --api-key, --config

- #17: default date range falls back to current month when .env dates are missing
- #18: add --version, --verbose, --debug flags
- #20: add --url, --api-key, --config CLI overrides
- Config supports CLI overrides for URL/API key and explicit config file loading
- Update README with new CLI options
- Add tests for new flags and config overrides

Closes #17, closes #18, closes #20
This commit is contained in:
Кокос Артем Николаевич
2026-06-29 12:01:32 +07:00
parent 738d9d543e
commit f6afc4096d
5 changed files with 168 additions and 9 deletions

View File

@@ -16,7 +16,9 @@ CLI-инструмент для генерации отчётов по зада
- Вывод в консоль в табличном или компактном виде.
- Экспорт в ODT, CSV, Markdown и HTML.
- Автоматическое определение месяца ODT-отчёта по конечной дате периода.
- Настройка периода отчёта по умолчанию через `.env`.
- Настройка периода отчёта по умолчанию через `.env` (или автоматически — текущий месяц).
- Переопределение URL и API-ключа через CLI.
- Загрузка альтернативного `.env` через `--config`.
## Установка
@@ -44,7 +46,7 @@ DEFAULT_FROM_DATE=2026-01-01
DEFAULT_TO_DATE=2026-01-31
```
Если задан `REDMINE_API_KEY`, он используется в первую очередь.
Если задан `REDMINE_API_KEY`, он используется в первую очередь. Значения из `.env` можно переопределить через CLI: `--url`, `--api-key`, `--author`, а также загрузить другой файл конфигурации через `--config`.
Резервный вариант авторизации:
@@ -86,7 +88,7 @@ DEFAULT_TO_DATE=2026-01-31
source .venv/bin/activate
```
Отчёт за период по умолчанию:
Отчёт за период по умолчанию (текущий месяц или из `.env`):
```bash
redmine-reporter
@@ -100,12 +102,37 @@ redmine-reporter --date 2026-02-01--2026-02-28
Период должен быть задан в формате `YYYY-MM-DD--YYYY-MM-DD`. Начальная дата не может быть позже конечной.
Переопределение URL и API-ключа из `.env`:
```bash
redmine-reporter --url https://red.example.com --api-key ваш_токен
```
Использование альтернативного конфигурационного файла:
```bash
redmine-reporter --config /path/to/.env
```
Компактный вывод:
```bash
redmine-reporter --compact
```
Подробный или отладочный вывод:
```bash
redmine-reporter --verbose
redmine-reporter --debug
```
Вывод версии:
```bash
redmine-reporter --version
```
Экспорт:
```bash