/helpdesk

nodejs helpdesk apps

Primary LanguageHTML

Описание

Intraservice report server.

Установка и запуск

mkdir etc && cp etc.dist/config.json etc && vim etc/config.json

Следует отредактировать настройки:

  • HelpDeskApi - авторизация в Intraservice
  • User, Task, TaskExpense, TaskLifetime, helpdesk - указать актуальные адреса Intraservice

Запуск приложения через Docker: docker-compose up

Открыть в браузере http://localhost:8082/index.html, выбрать пользователя.

Механика работы

Главный скрипт server.js запускает:

  • WebApp - веб-сервер отчетов
  • User - получение списка пользователей
  • Task - получение задач (базовая информация)
  • TaskExpense - получение трудоемкости задач
  • TaskLifetime - получение жизненного цикла задачи

WebApp

  • Статика: HTML, JS, CSS.
  • Динамика: отчет о задачах, пользователях в формате JSON.

User, Task, TaskExpense, TaskLifetime

Получают асинхронно задачи, трудоемкость и пользователей с заданными интервалами checkDelay (в мс).

TaskExpense

Требования к получению трудозатрат:

  • максимально точная информация
  • оперативное получение
  • не грузить HTTP

Периодически по checkDelay. Увы, одним запросом к API Intraservice все данные не вытащить. Но за счет sort({Changed: -1}).limit(20) получаем "новости" об измененных задачах. Допущение: заявки меняются в меньших объемах, чем успевает обработать скрипт.

Intraservice API: полезные поля для фильтрации

  • ChangedMoreThan - Дата последнего изменения заявок больше или равна указанной
  • Closed - Дата закрытия заявок равна указанному дню (время не учитывается, т.е. с 00:00 до 23:59 указанного дня)
  • Hours - Трудозатраты в часах
  • Deadline - Дедлайн

TODO