Intraservice report server.
mkdir etc && cp etc.dist/config.json etc && vim etc/config.json
Следует отредактировать настройки:
HelpDeskApi
- авторизация в IntraserviceUser
,Task
,TaskExpense
,TaskLifetime
,helpdesk
- указать актуальные адреса Intraservice
Запуск приложения через Docker: docker-compose up
Открыть в браузере http://localhost:8082/index.html, выбрать пользователя.
Главный скрипт server.js
запускает:
WebApp
- веб-сервер отчетовUser
- получение списка пользователейTask
- получение задач (базовая информация)TaskExpense
- получение трудоемкости задачTaskLifetime
- получение жизненного цикла задачи
- Статика: HTML, JS, CSS.
- Динамика: отчет о задачах, пользователях в формате JSON.
Получают асинхронно задачи, трудоемкость и пользователей с заданными интервалами checkDelay
(в мс).
Требования к получению трудозатрат:
- максимально точная информация
- оперативное получение
- не грузить HTTP
Периодически по checkDelay
. Увы, одним запросом к API Intraservice все данные не вытащить. Но за счет sort({Changed: -1}).limit(20)
получаем "новости" об измененных задачах. Допущение: заявки меняются в меньших объемах, чем успевает обработать скрипт.
ChangedMoreThan
- Дата последнего изменения заявок больше или равна указаннойClosed
- Дата закрытия заявок равна указанному дню (время не учитывается, т.е. с 00:00 до 23:59 указанного дня)Hours
- Трудозатраты в часахDeadline
- Дедлайн
- Получить статусы http://helpdesk/api/taskstatus
- Починить Telegram-бота
- Починить "пульс"