docs: add --commit documentation to README and CONFIG
This commit is contained in:
18
README.md
18
README.md
@@ -19,6 +19,7 @@ CLI-инструмент для генерации отчётов по зада
|
|||||||
- Сводка по времени (`--summary`).
|
- Сводка по времени (`--summary`).
|
||||||
- YAML-конфиг (`~/.config/redmine-reporter/config.yml`): шаблон имени файла, путь по умолчанию, период, SMTP.
|
- YAML-конфиг (`~/.config/redmine-reporter/config.yml`): шаблон имени файла, путь по умолчанию, период, SMTP.
|
||||||
- Умное разрешение `--output`: bare-формат (`xlsx`) → путь по шаблону, без расширения → автодописывание.
|
- Умное разрешение `--output`: bare-формат (`xlsx`) → путь по шаблону, без расширения → автодописывание.
|
||||||
|
- `--commit`: автосохранение отчёта в файл + фиксация периода в YAML-конфиге для следующего запуска.
|
||||||
- Понятные сообщения об ошибках Redmine API (401/403/5xx, таймаут, сеть).
|
- Понятные сообщения об ошибках Redmine API (401/403/5xx, таймаут, сеть).
|
||||||
- Загрузка альтернативного `.env` через `--config`.
|
- Загрузка альтернативного `.env` через `--config`.
|
||||||
|
|
||||||
@@ -197,6 +198,23 @@ redmine-reporter --by-activity --summary
|
|||||||
redmine-reporter --summary
|
redmine-reporter --summary
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Фиксация периода (`--commit`):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Сгенерировать, сохранить в файл по шаблону, запомнить период
|
||||||
|
redmine-reporter --commit
|
||||||
|
|
||||||
|
# С явным путём
|
||||||
|
redmine-reporter --commit --output report.xlsx
|
||||||
|
|
||||||
|
# Следующий запуск (без --date) возьмёт следующий период автоматически
|
||||||
|
redmine-reporter
|
||||||
|
|
||||||
|
# При precision=datetime запоминает момент времени
|
||||||
|
# (предотвращает дублирование записей внутри дня)
|
||||||
|
redmine-reporter --commit
|
||||||
|
```
|
||||||
|
|
||||||
## Форматы вывода
|
## Форматы вывода
|
||||||
|
|
||||||
| Формат | Особенности |
|
| Формат | Особенности |
|
||||||
|
|||||||
@@ -64,11 +64,45 @@ email:
|
|||||||
|
|
||||||
Определяет, как вычисляется следующий период после фиксации:
|
Определяет, как вычисляется следующий период после фиксации:
|
||||||
|
|
||||||
- `date` (по умолчанию) — период с точностью до дня. Следующий запуск (после `--commit`, #44) начинается со следующего дня.
|
- `date` (по умолчанию) — период с точностью до дня. Следующий запуск (после `--commit`) начинается со следующего дня.
|
||||||
- `datetime` — период с точностью до секунды. При повторном запуске time entries с `created_on` и `updated_on` ранее `last_used.to` исключаются (AND-логика: запись исключается только если **оба** поля раньше cutoff). Это предотвращает дублирование при отправке отчёта внутри рабочего дня.
|
- `datetime` — период с точностью до секунды. При повторном запуске time entries с `created_on` и `updated_on` ранее `last_used.to` исключаются (AND-логика: запись исключается только если **оба** поля раньше cutoff). Это предотвращает дублирование при отправке отчёта внутри рабочего дня.
|
||||||
|
|
||||||
`last_used.from` / `last_used.to` записываются автоматически при `--commit`. Вручную редактировать не требуется.
|
`last_used.from` / `last_used.to` записываются автоматически при `--commit`. Вручную редактировать не требуется.
|
||||||
|
|
||||||
|
### `--commit` — автофиксация периода
|
||||||
|
|
||||||
|
Флаг `--commit` сохраняет использованный период в YAML-конфиг, чтобы следующий запуск автоматически начинался с нового периода.
|
||||||
|
|
||||||
|
**Что делает:**
|
||||||
|
|
||||||
|
1. Генерирует отчёт как обычно.
|
||||||
|
2. Сохраняет отчёт в файл:
|
||||||
|
- Если указан `--output` — по явному пути.
|
||||||
|
- Если `--output` не указан — по шаблону из `output.dir` / `output.filename`.
|
||||||
|
3. Записывает `period.last_used.from` / `period.last_used.to` в YAML-конфиг.
|
||||||
|
4. При `period.precision: datetime` сохраняет текущий момент времени (ISO с секундами).
|
||||||
|
5. При `period.precision: date` сохраняет даты периода.
|
||||||
|
|
||||||
|
**Поведение `period.dynamic`:**
|
||||||
|
|
||||||
|
- `dynamic: true` — следующий запуск (без `--date`) вычисляет период от `last_used`:
|
||||||
|
- Полный календарный месяц → следующий полный месяц.
|
||||||
|
- Произвольный диапазон → та же длительность, начиная со дня после `last_used.to`.
|
||||||
|
- `dynamic: false` — `--commit` перезаписывает `default_from`/`default_to` на использованный период.
|
||||||
|
|
||||||
|
**Примеры:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Июнь 2026 → следующий запуск (без --date) → июль 2026
|
||||||
|
redmine-reporter --date 2026-06-01--2026-06-30 --commit
|
||||||
|
|
||||||
|
# Произвольный диапазон: 15-20 июня → следующий запуск → 21-26 июня
|
||||||
|
redmine-reporter --date 2026-06-15--2026-06-20 --commit
|
||||||
|
|
||||||
|
# С datetime-точностью: повторный запуск не дублирует записи
|
||||||
|
redmine-reporter --commit
|
||||||
|
```
|
||||||
|
|
||||||
### `output` — путь и имя файла по умолчанию
|
### `output` — путь и имя файла по умолчанию
|
||||||
|
|
||||||
Секция управляет тем, куда и с каким именем сохраняется отчёт, когда `--output` не содержит полного пути.
|
Секция управляет тем, куда и с каким именем сохраняется отчёт, когда `--output` не содержит полного пути.
|
||||||
|
|||||||
Reference in New Issue
Block a user