Вихідна ситуація: внутрішня IT-служба компанії приймає звернення співробітників через спільний чат та пошту. Через це губляться деталі, дублюються заявки та немає єдиної статистики. Існує Jira Service Management (Cloud) як Service Desk, автентифікація співробітників через корпоративний SSO (Azure AD). Бажаємо, щоб співробітники створювали звернення через Telegram-бота, а заявки автоматично потрапляли до JSM з коректною категорією, пріоритетом та маршрутизацією. Технічне середовище та обмеження: Telegram Bot API. Jira Service Management Cloud REST API. Azure AD для перевірки належності користувача до домену. Розгортання в Docker у нашій інфраструктурі (Linux VM). Обмеження: у бота не повинно бути постійного зберігання персональних даних, допускається зберігання мінімального набору (Telegram user id, хеш-ідентифікатор співробітника, токени тільки в зашифрованому вигляді або зовсім не зберігати). Логи мають бути без вмісту звернень (тільки технічні події та ідентифікатори). Мова спілкування робота - RU. Що повинен робити бот: 1) Авторизація - користувач прив'язує Telegram до корпоративної обліку через безпечний flow: бот видає посилання на короткоживучий токен, користувач проходить login в Azure AD, після чого бот отримує підтвердження та дозволяє роботу. 2) Створення заявки - діалог збирає обов'язкові поля: тип запиту (інцидент, доступи, обладнання, ПЗ), короткий опис, подробиці, критичність, порушений сервіс зі списку, вкладення (скриншоти). 3) Автокласифікація - на основі ключових слів/шаблонів (таблиця правил, що настроюється) пропонує категорію/компонент і чергу (request type) в JSM, користувач підтверджує або змінює. 4) Створення тикета в JSM - формує request з потрібними custom fields, прикріплює файли, повертає номер і посилання. 5) Статус та коментарі - по команді показує останні 5 заявок користувача, поточний стат ус, вміє відправляти коментар у тикет і отримувати повідомлення про зміну статусу/коментарі в Telegram (webhook від JSM або періодичне опитування з дедуплікацією). 6) Антидублі - перед створенням тикету бот робить швидкий пошук схожих відкритих заявок користувача за останні 7 днів (за ключовими словами/сервісом) і пропонує прив'язатися до існуючої. Очікуваний результат: репозиторій з вихідним кодом (переважно Python 3.11+ або Node.js 20+), Dockerfile і docker-compose для запуску, конфігурація через змінні оточення, міграція/ініціалізація правил класифікації, інструкція по установці та експлуатації (RU), мінімальний набір автотестів. Критерії приймання (вимірювані): 1) Новий користувач без прив'язки не може створювати заявки, після успішної авторизації може. 2) Створення інциденту з вкладенням призводить до появи заявки в JSM із заповненими полями та прикріпленим файлом, робота повертає коректний request key. 3) Повідомлення про зміну статусу в JSM надходить у Telegram не пізніше 2 хвилин (в тестовому середовищі). 4) У логах немає тексту звернень та персональних даних крім технічних ідентифікаторів. 5) Перезапуск контейнера не ламає роботу бота і не вимагає ручних дій для відновлення webhook/підписок. Етапність: спочатку прототип діалогу та створення тикета, потім SSO-прив'язка, потім повідомлення та коментарі, потім антидублі та правила класифікації, потім упаковка у Docker та документація. Доступи: дамо тестовий проект JSM, тестовий Azure AD app registration, токен Telegram бота та список полів/черг JSM.