Задание: AI-автоматизация. Сервис создания задач в Jira из голосовых сообщений, текста и записей Zoom (Дистанционная работа)
1. Назначение Значительная часть задач поступает заказчику голосом: собственные голосовые сообщения, голосовые, пересланные коллегами в Telegram, и обсуждения на встречах в Zoom. Сейчас их прослушивают и перепечатывают вручную, затем подбирают проект в корпоративной Jira и заводят задачу. Требуется сервис, который делает это автоматически. Голосовое сообщение, текст или запись встречи превращаются в задачу в подходящем проекте Jira. Контекст Задачи ведутся в корпоративной Jira (Atlassian Cloud). Новые задачи назначаются на отдельную служебную учётную запись. Под ней на сервере заказчика работает Claude CLI: он берёт назначенные задачи и распределяет их дальше по исполнителям. При необходимости он задаёт вопросы автору задачи в комментариях Jira. Новый сервис только заводит задачу и назначает её на эту учётную запись. Дальнейшая работа с задачей в объём не входит. Сервис разворачивается на сервере заказчика как отдельное приложение. Способ развёртывания (например, Docker) согласуется отдельно. 2.Функции 2.1. Telegram-бот Бот личный. Он принимает сообщения только от одного пользователя, заказчика, остальным не отвечает. Голосовое сообщение или аудиофайл, собственные или пересланные, расшифровываются в текст. Для пересланного сообщения в тексте указывается автор оригинала, например: «Пересланное голосовое от Ивана Петрова: …». Текстовое сообщение, собственное или пересланное, используется как есть. Из каждого сообщения создаётся одна задача. В ответ бот присылает одну строку со ссылкой на задачу, например: «→ TA-712 Добавить фильтр по дате». Выбор проекта: если в начале сообщения назван проект («в TA: …», «Finblock: …»), задача создаётся в нём без уточнений; если проект нельзя определить однозначно, бот присылает кнопки с двумя-тремя наиболее вероятными проектами, пользователь выбирает. 2.2. Записи встреч Zoom Используется корпоративный аккаунт Zoom с облачными записями. Когда запись встречи готова, Zoom присылает вебхук recording.completed. Сервис скачивает аудио через API Zoom, расшифровывает его и создаёт задачу. Тема, дата, время и участники встречи берутся из данных Zoom. Записи короче 2 минут пропускаются. В Telegram отправляется строка со ссылкой, например: «Встреча „Созвон с Case 26.10“ → АК-2301». 2.3. Расшифровка Используется сервис распознавания речи Deepgram (https://developers.deepgram.com/) (endpoint POST /v1/listen). Заказчик уже применяет его в другом проекте со следующими параметрами, их нужно сохранить: - Параметр - Значение - model - nova-2 - language - ru - punctuate - true - smart_format - true - diarize (разметка спикеров) - true для встреч - keywords - для встреч: список терминов, чтобы названия продуктов и проектов распознавались правильно Список терминов в формате слово:вес заказчик передаст файлом. При необходимости он также передаст фрагмент существующего кода вызова Deepgram в качестве примера. 2.4. Задача в Jira Проект. Сервис выбирает проект сам из списка, заданного в конфигурации: ключ проекта и сайт Jira. Он ищет в этих проектах задачи, похожие по смыслу на новую. Новая задача создаётся в том проекте и под тем эпиком, где лежат похожие задачи. Тип: Story. Claude CLI берёт в работу только задачи этого типа. Исполнитель: служебная учётная запись, под которой работает Claude CLI. Её accountId передаст заказчик, в конфигурации это переменная ASSIGNEE_JIRA_ACCOUNT_ID. Автор: учётная запись заказчика в Atlassian, а не служебная. Вопросы по задаче адресуются её автору, поэтому они должны приходить заказчику. Название: короткое, отражает суть запроса. Описание: - суть запроса в нескольких предложениях; - полный текст сообщения или расшифровки; - ссылки на две-три похожие задачи, по которым выбран проект. Для встреч в описание входят тема, дата, участники и суть. Полная расшифровка с разметкой спикеров прикладывается к задаче файлом .txt, потому что целиком в описание Jira она не помещается. 3. Доступы Все доступы предоставляет заказчик: - Deepgram: API-ключ (DEEPGRAM_API_KEY). - Telegram: новый бот, создаётся под этот проект. - Jira: учётная запись заказчика в Atlassian (email и API-токен). - Zoom: приложение типа Server-to-Server OAuth в корпоративном аккаунте с правом чтения облачных записей (account id, client id, client secret) и секрет вебхука recording.completed. 4. Вне объёма работ - Несколько задач из одного сообщения или встречи: задачу делит Claude CLI. - Редактирование и закрытие уже созданных задач через бота. - Пересылка вопросов по задачам в Telegram: они приходят заказчику в Jira. - Записи Zoom, сохранённые локально, а не в облаке. - Работа бота с другими пользователями. - Веб-интерфейс.