ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, 3
СКОРАЩЕНИЙ, ТЕРМИНОВ
ВВЕДЕНИЕ 5
1. Анализ требований 7
1.1 Функциональные требования 7
1.2 Нефункциональные требования 8
1.3 Варианты использования 9
2. Проектирование приложения 11
2.1 Модель предметной области 11
2.2 Стек разработки 13
2.3 Архитектура приложения 16
2.4 JQL язык 17
3. Реализация приложения 19
3.1 Диаграммы деятельности 19
3.2 Реализация базы данных 27
3.3 Реализация основных JQL-запросов для дашбордов 30
3.4 ApexCharts 31
3.5 Интеграция ApexCharts 32
3.6 Анализ производительности разных способов получения данных 33
3.7 Формирование презентаций 37
3.8 Тестирование 39
3.9 Эндпоинты для взаимодействия с Jira Service Desk 40
ЗАКЛЮЧЕНИЕ 44
СПИСОК ИСТОЧНИКОВ 46
ПРИЛОЖЕНИЕ А 48
При быстром развитии информационных технологий и цифровизации бизнес-процессов организации всё чаще внедряют инструменты, направленные на автоматизацию управления проектами и улучшение слаженности командной работы. Одним из самых востребованных решений в этой сфере является платформа Jira, предоставляющая функции для планирования, контроля и управления задачами. Применение API Jira расширяет возможности интеграции системы с внешними приложениями и увеличивает её функционал, что даёт компаниям шанс настроить Jira в соответствии с их специфическими потребностями. Однако встроенные инструменты отчетности в Jira не всегда удовлетворяют потребностям бизнеса в аналитике. Поэтому реализация интерактивных дашбордов, автоматизированных отчетов откроет новые возможности для мониторинга критически важных показателей эффективности:
- продолжительность обработки обращений;
- соответствие сервисным соглашениям (SLA);
- распределение рабочей нагрузки;
- динамику выполнения задач в временном разрезе.
Задачи:
1. Провести анализ предметной области.
2. Составить функциональные и нефункциональные требования.
3. Выбрать необходимый стек технологий для разработки.
4. Спроектировать архитектуру приложения для работы с API Jira.
5. Разработать механизм формирования интерактивных дашбордов с визуализацией данных
6. Реализовать генерацию презентаций (PowerPoint) на основе данных из отчетов.
7. Внедрить локальное хранение данных для:
- повышения отказоустойчивости;
- ускорения формирования отчетов;
- снижения нагрузки на Jira API.
8. Провести сравнение производительности при работе с Jira API и локальной БД.
9. Описать тестирование (Selenium, NUnit) для компонентов системы.
10. Реализовать приложение.
В ходе выполнения выпускной квалификационной работы была достигнута цель и разработан веб-модуль для автоматизации работы с заявками Jira Service Desk, включающая три основных модуля: интерактивные дашборды, генератор презентаций и панель управления заявками. Цель работы состоит в том, чтобы повысить эффективность обработки заявок, улучшить аналитические возможности и уменьшить нагрузку на API Jira за счет хранения информация в локальной базе данных. Такое кэширование особенно полезно для уменьшения количества повторяющихся запросов к API и снижения общей задержки.
Глубокое исследование предметной области позволило выявить основные ключевые сущности и процессы, которые составляют основу системы сущностей. На основании этого исследования были построены UML-диаграммы классов, диаграммы вариантов использования и диаграммы активностей, которые визуально представляют структуру данных системы, ее функциональные возможности и бизнес-процессы. Диаграмма классов содержит в себе все основные объекты: заявки, пользователи, комментарии, вложения, согласования, исполнители, услуги и сервис. Диаграмма случая использования или взаимодействия иллюстрировала, какие действия может выполнять пользователь, что стало важным для проектирования интерфейса и API.
Автоматизация работы с заявками, комментариями, вложениями и согласованиями была реализована за счет интеграции с Jira Service Desk через его REST API. Все взаимодействия с API Jira, такие как аутентификация, сопоставление пользователей, обработка вложений и поддержка пользовательских полей, должны были быть учтены во время интеграции. Это обеспечило надежную синхронизацию данных между внутренней системой и Jira и увеличило прозрачность информации и автоматизацию бизнес-процессов.
Самым важным достижением этого проекта является разработка пользовательской логики для хранения данных в собственной базе данных, которая доказала значительное преимущество в производительности по сравнению с прямыми вызовами к API Jira.
Диапазон вызовов системы в 100 000 периодов времени показал изменения во времени отклика на 127 секунд, что повышает эффективность на большом объеме созданных заявок.
Дашборды демонстрируют данные, отфильтрованные по времени, типам заявок, приоритетам и многим другим, что делает их полезными для анализа ключевых показателей.
На базе данных из Jira или локального хранилища модуль формирует отчеты в формате PowerPoint. На основе метрик, таких как соблюдение SLA и выделенной нагрузки, модуль выдаст оформленный документ согласно установленным шаблонам. Подготовка отчетов занимает значительно меньше времени (Приложение А).
Проект выполнен на Blazor ServerSide, ASP.NET Core - серверная логика, локальный SQL Server для хранения данных, Docker как система виртуализации и контейнеризации. Гибкость на развертывании системы в разных средах с использованием Docker.
Проведенное тестирование подтвердило надежность и производительность решения. Автоматизированные тесты покрывают основную часть кодовой базы, а нагрузочные тесты демонстрируют стабильную работу при одновременном подключении 50+ пользователей. Среднее время формирования отчета не превышает 45 секунд даже при обработке больших объемов данных.