# [Redmine Tracker](https://git.sbps.ru/e.vlasov/redmine_tracker) ## Описание: Скрипт для автоматического перенесения всех активностей с Clockify в Redmine. Сначала получаем все активности через Clockify API, затем заносим их через Redmine API. ## Переменные |Clockify|Redmine|Пример/Уточнение| |--------|-------|------| |Описание задачи (Description)|Комментарий|Уточнение у аналитика| |Теги (Tags)|<Задача> - <Название задачи>|28882 - Прочие активности по Ветро| |Трекать/Не трекать (Billable/Non-billable)|<Занесена в Redmine или нет>|Если выбрано, то активность будет перенесена
Тег обязательно должен содержать номер задачи (5 цифр) в начале.
28882 - Прочие активности
28882
28882 Прочие активности
### Запуск: Клонируйте [репозиторий](https://git.sbps.ru/e.vlasov/redmine_tracker) и перейдите в него в командной строке: ```bash git clone ssh://git@git.sbps.ru:4567/e.vlasov/redmine_tracker.git cd redmine_tracker ``` Создайте виртуальное окружение и активируйте его ```bash python -m venv venv ``` Windows ```bash venv/Scripts/activate ``` Linux/Ubuntu/MacOS ```bash source venv/bin/activate ``` Обновите pip: ```bash python -m pip install --upgrade pip ``` Установите зависимости: ```bash pip install -r requirements.txt ``` Создайте файл .env и добавьте в него переменные: ```bash touch .env ``` ```env *REDMINE_TOKEN= *CLOCKIFY_TOKEN= ?USER_ID= ?WORKSPACE_ID= ``` \* - Обязательные.
? - Опциональные. Могут быть пустыми, но не должны отсутствовать вовсе. ## Получение `USER_ID` и `WORKSPACE_ID` 1. Простой способ: запустить скрипт с пустыми полями `USER_ID` и `WORKSPACE_ID` в файле `.env`
и они автоматически подгрузятся и сохранятся локально в файле.
Этот способ может помочь в том случае, если у вас всего одно рабочее пространство и один пользователь в Clockify.
В других случаях рекомендую использовать второй способ. 2. Чуть сложнее: Сделать GET-запроc по эндпоинту `https://app.clockify.me/api/v1/user` и указать ваш токен в заголовках запроса. {"X-API-KEY": "ВАШ_ТОКЕН"}
В теле ответа вы получите нужные переменные:
id - это `USER_ID`
activeWorkspace - это `WORKSPACE_ID` ## Запуск. ``` python track.py ``` ## Аргументы запуска | Аргумент | Описание | Пример использования | |-------------------|--------------------------------------------------------------|--------------------------------------| | `-h [--help]` | Показать справку | `python track.py --help` | | `-s [--start]` | Дата начала парсинга активностей в формате гггг-мм-дд | `python track.py --start 2025-05-19` | | `-e [--end]` | Дата окончания парсинга активностей в формате гггг-мм-дд | `python track.py -e 2025-05-19` | | `-p [--page-size]`| Количество задач для вывода. Выведет последние n записей | `python track.py --page-size 15` | | `-d [--debug]` | Режим отладки. Не загружает трудочасы в Redmine | `python track.py -d` | | `-i [--init-db]` | Режим инициализации бд. | `python track.py -init-db` | | | Подгружает с серверов теги, виды деятельности и проекты Ветро| | [Власов Эдуард](https://github.com/QuickLike)