YouTrack Time Tracker
Версия YouTrack.2023.2
Описание
YouTrack Time Tracker — это расширение для Visual Studio Code, предназначенное для отслеживания времени, затраченного на задачи в системе управления проектами YouTrack. Плагин позволяет разработчикам эффективно управлять своим временем, автоматически синхронизируя данные с YouTrack.
Основные возможности:
- Запуск и остановка таймера для отслеживания времени
- Ручной ввод времени
- Автоматическое отслеживание активности
- Создание Git-веток из задач
- Просмотр истории активности и статистики
- Экспорт данных в CSV и JSON
- Интеграция с YouTrack API для обновления статусов и списания времени
Установка
- Откройте Visual Studio Code
- Перейдите в раздел расширений (Ctrl+Shift+X)
- Найдите "YouTrack Time Tracker"
- Нажмите "Установить"
Альтернативно, можно установить расширение из VSIX-файла:
- Скачайте файл
youtrack-time-tracker-0.1.0.vsix
из релизов
- В VS Code выберите "Install from VSIX" в меню расширений
- Выберите скачанный файл
Настройка
Для работы с YouTrack Time Tracker необходимо настроить подключение к серверу YouTrack:
- Откройте командную палитру (Ctrl+Shift+P)
- Выполните команду "YouTrack Time Tracker: Настроить расширение"
- Заполните следующие параметры:
Обязательные настройки
- Адрес YouTrack: URL вашего сервера YouTrack
- Имя пользователя: Ваш логин в YouTrack
- API-ключ: Ключ API для аутентификации
Дополнительные настройки
- Интервал проверки: Интервал синхронизации с YouTrack (в минутах)
- Время автоматической остановки: Час, когда таймер будет автоматически останавливаться
- Порог времени для уведомлений: Время, по достижении которого будет показано уведомление
- Имя поля статуса задачи: Название поля статуса в YouTrack
- ID типа работы по умолчанию: Тип работы, используемый по умолчанию при списании времени
Руководство по использованию
Начало отслеживания времени
Существует несколько способов начать отслеживание времени:
Через командную палитру:
- Откройте командную палитру (Ctrl+Shift+P)
- Выполните команду "YouTrack Time Tracker: Запустить таймер"
- Введите идентификатор задачи (например, PROJ-123)
Через панель задач:
- Откройте панель "Tasks" в боковой панели
- Найдите нужную задачу
- Нажмите кнопку "Начать" рядом с задачей
Через контекстное меню:
- Щелкните правой кнопкой мыши по задаче в списке
- Выберите "Начать отслеживание времени для этой задачи"
Управление таймером
После запуска таймера в строке состояния VS Code появится элемент с текущей задачей и временем. Доступны следующие действия:
- Поставить на паузу: Остановить отсчет времени, не завершая сессию
- Возобновить: Продолжить отсчет времени после паузы
- Остановить: Завершить сессию отслеживания и сохранить результат
Ручной ввод времени
Для ввода времени вручную:
- Выполните команду "YouTrack Time Tracker: Ручной ввод времени"
- Выберите задачу из списка
- Укажите продолжительность и комментарий
- Нажмите "Сохранить"
Создание Git-ветки
Для создания Git-ветки из задачи:
- Выберите задачу в списке
- Нажмите кнопку "Создать ветку"
- Подтвердите создание ветки с именем задачи
Просмотр истории и статистики
История активности:
- Просмотр всех записей времени
- Редактирование и удаление записей
- Ручная синхронизация с YouTrack
Статистика времени:
- Графическое представление времени по задачам
- Сводка по затраченному времени
Команды
Команда |
Описание |
Горячие клавиши |
youtrack-time-tracker.startTimer |
Запустить таймер для задачи |
- |
youtrack-time-tracker.stopTimer |
Остановить таймер |
- |
youtrack-time-tracker.pauseTimer |
Поставить таймер на паузу |
- |
youtrack-time-tracker.resumeTimer |
Возобновить таймер |
- |
youtrack-time-tracker.viewActivityHistory |
Просмотр истории активности |
- |
youtrack-time-tracker.exportToCSV |
Экспорт истории в CSV |
- |
youtrack-time-tracker.clearData |
Очистить все данные |
- |
youtrack-time-tracker.openWebview |
Открыть интерфейс расширения |
- |
youtrack-time-tracker.viewTimeStatistics |
Просмотр статистики времени |
- |
youtrack-time-tracker.excludeIssue |
Исключить задачу из отслеживания |
- |
youtrack-time-tracker.includeIssue |
Включить задачу в отслеживание |
- |
youtrack-time-tracker.startAutoTracking |
Запустить автоматическое отслеживание |
- |
youtrack-time-tracker.stopAutoTracking |
Остановить автоматическое отслеживание |
- |
youtrack-time-tracker.manualTimeEntry |
Ручной ввод времени |
- |
youtrack-time-tracker.configureExtension |
Настроить расширение |
- |
youtrack-time-tracker.exportToJSON |
Экспорт истории в JSON |
- |
youtrack-time-tracker.quickComment |
Быстрое добавление комментария |
- |
youtrack-time-tracker.selectIssue |
Выбор задачи из списка |
- |
youtrack-time-tracker.manualSync |
Запустить синхронизацию |
- |
youtrack-time-tracker.showApiLogs |
Показать логи API |
- |
Настройки
Параметр |
Тип |
Значение по умолчанию |
Описание |
youtrack-time-tracker.checkInterval |
number |
30 |
Интервал проверки в минутах |
youtrack-time-tracker.excludedFiles |
array |
[] |
Список исключенных файлов/папок |
youtrack-time-tracker.notificationThreshold |
number |
25 |
Порог времени для уведомлений |
youtrack-time-tracker.notificationInterval |
number |
30 |
Интервал между уведомлениями в минутах |
youtrack-time-tracker.apiKeyInput |
string |
"" |
Ключ API в YouTrack |
youtrack-time-tracker.userNameInput |
string |
"" |
UserName пользователя в системе |
youtrack-time-tracker.youTrackUrlInput |
string |
"" |
Адрес YouTrack |
youtrack-time-tracker.checkStopInput |
number |
22 |
Время автоматической остановки |
youtrack-time-tracker.defaultWorkItemType |
string |
"42-0" |
ID типа работы по умолчанию для записей времени |
youtrack-time-tracker.workItemTypeCacheDuration |
number |
3600000 |
Длительность кеширования типов работ в миллисекундах (по умолчанию 1 час) |
youtrack-time-tracker.statusFieldName |
string |
"Статус задачи Web" |
Имя поля статуса задачи в YouTrack |
youtrack-time-tracker.statusNameOverrides |
object |
{} |
Переименования статусов: ключ — оригинальное имя из YouTrack, значение — отображаемое имя в UI. Пример: { "In Progress": "В работе" } |
youtrack-time-tracker.excludedStatuses |
array |
[] |
Статусы задач, которые нужно исключить из списка (по имени, как в YouTrack). Пример: ["Done", "Rejected"] |
Разработка
Структура проекта
VSCode/
├── src/
│ ├── commands/ # Команды расширения
│ ├── core/ # Основные утилиты
│ ├── interfaces/ # Интерфейсы и типы
│ ├── utils/ # Вспомогательные функции
│ ├── youtrack-api.ts # API для YouTrack
│ ├── data-manager.ts # Менеджер данных
│ ├── timer-manager.ts # Менеджер таймера
│ ├── issue-manager.ts # Менеджер задач
│ ├── webview-manager.ts # Менеджер WebView
│ ├── auth-manager.ts # Менеджер аутентификации
│ ├── extension.ts # Основной файл расширения
│ └── manual-time-entry.ts # Ручной ввод времени
├── media/
│ ├── html/ # HTML-шаблоны для WebView
│ ├── css/ # Стили
│ └── js/ # JavaScript для WebView
└── package.json # Конфигурация расширения
Запуск в режиме разработки
- Установите зависимости:
npm install
- Соберите проект:
npm run compile
- Запустите в режиме отладки (F5) в VS Code
Тестирование
Запустите тесты: npm run test
Лицензия
MIT