Add Redmine API token authentication

This commit is contained in:
Кокос Артем Николаевич
2026-05-22 17:18:30 +07:00
parent 7bc6e024c0
commit 8bc8181ce3
14 changed files with 190 additions and 43 deletions

View File

@@ -10,6 +10,7 @@
## 🔧 Возможности
- Безопасная передача учётных данных через переменные окружения или `.env`
- Авторизация через Redmine API token или через логин/пароль для обратной совместимости
- Группировка задач по проекту и версии
- Поддержка нескольких форматов экспорта: **ODT**, **CSV**, **Markdown**, **HTML**
- Два режима вывода в консоль: табличный (красивая таблица) и компактный (для копирования)
@@ -58,8 +59,7 @@ cat /etc/ssl/certs/ca-certificates.crt >> $(python -m certifi)
```ini
REDMINE_URL=https://red.eltex.loc/
REDMINE_USER=ваш.логин
REDMINE_PASSWORD=ваш_пароль
REDMINE_API_KEY=ваш_api_token
REDMINE_AUTHOR=Иванов Иван Иванович
# Опционально: диапазон дат по умолчанию
@@ -67,12 +67,20 @@ DEFAULT_FROM_DATE=2026-01-01
DEFAULT_TO_DATE=2026-01-31
```
Если `REDMINE_API_KEY` задан, он используется в первую очередь. Старый способ с логином и паролем остаётся доступен для обратной совместимости:
```ini
REDMINE_URL=https://red.eltex.loc/
REDMINE_USER=ваш.логин
REDMINE_PASSWORD=ваш_пароль
REDMINE_AUTHOR=Иванов Иван Иванович
```
Альтернатива — задать переменные вручную:
```bash
export REDMINE_URL=https://red.eltex.loc/
export REDMINE_USER=ваш.логин
export REDMINE_PASSWORD=...
export REDMINE_API_KEY=...
export REDMINE_AUTHOR="Иванов Иван Иванович"
```
@@ -122,8 +130,7 @@ redmine-reporter --output report.html
```ini
REDMINE_URL=https://red.eltex.loc/
REDMINE_USER=ivanov.ivan
REDMINE_PASSWORD=supersecret
REDMINE_API_KEY=supersecret_api_token
REDMINE_AUTHOR=Иванов Иван
DEFAULT_FROM_DATE=2026-01-01
@@ -159,6 +166,6 @@ isort .
---
> 🔒 **Важно**:
> - Никогда не коммитьте `.env`, пароли или логины.
> - Никогда не коммитьте `.env`, API token, пароли или логины.
> - Файл `.gitignore` уже исключает все чувствительные артефакты.
> - Инструмент работает только в режиме **чтения** — он не может изменять данные в Redmine.