MCP-сервер Bugasura
Подключите AI-ассистентов напрямую к рабочему пространству управления тестированием.
MCP-сервер Bugasura позволяет AI-инструментам, таким как Claude, VS Code Copilot и Cursor, взаимодействовать с вашими проектами в Bugasura: управлять тест-кейсами, отслеживать задачи, планировать спринты и выполнять другие действия с помощью обычных запросов на естественном языке.
⚠️ Критические изменения в версии 3.3
| Что изменилось | 3.2 | 3.3 |
|---|---|---|
| Связи требований с тест-кейсами | bugasura_link_unlink_requirement_testcases с параметром is_delete | bugasura_link_requirement_testcases и bugasura_unlink_requirement_testcases (операции, которые нельзя отменить); обе команды принимают разделённый запятыми параметр testcase_ids |
| Импорт из Coda, Jira, Confluence и Figma (10 инструментов) | Доступен при любом типе подключения | Доступен только локально (STDIO). Для импорта нужно передать API токен соответствующего сервиса, поэтому размещённый сервер больше не показывает эти инструменты и отклоняет вызовы к ним |
⚠️ Критические изменения в версии 3.0
Для аутентификации теперь используется вход через OAuth 2.0. Если вы обновляетесь с версии 2.x:
| Что изменилось | 2.x | 3.0 |
|---|---|---|
| Аутентификация на размещённом сервере (HTTP) | Заголовок X-Bugasura-API-Key или Authorization: Basic в конфигурации клиента | Войдите через MCP-клиент: он один раз откроет страницу входа и подтверждения доступа Bugasura, после чего будет автоматически обновлять токены. Ключ в файлах конфигурации не нужен. |
Параметр инструмента api_key | Присутствует у каждого инструмента | Удалён. Инструменты не принимают ключ, и ассистент не должен его запрашивать. |
| STDIO (локальный подпроцесс) | Переменная окружения BUGASURA_API_KEY | Без изменений — для STDIO единственным источником учётных данных остаётся переменная окружения. |
| Подсказка | setup_api_key | connect_bugasura |
| Требования к серверу (HTTP) | Нет | MCP_PUBLIC_BASE_URL, BUGASURA_OAUTH_CLIENT_ID, BUGASURA_OAUTH_CLIENT_SECRET (см. раздел «Настройка входа через OAuth») |
⚠️ Критические изменения в версии 2.0
Если вы обновляетесь с версии 1.x, обновите конфигурацию клиента:
| Что изменилось | 1.x | 2.0 |
|---|---|---|
| Названия инструментов | create_issue, list_teams, … | bugasura_create_issue, bugasura_list_teams, … (добавлен префикс, чтобы инструменты могли работать вместе с другими MCP-серверами) |
| HTTP-эндпоинт по умолчанию | /sse (SSE) | /mcp (потоковый HTTP) |
| Ответы списков и поиска | {status, project_list, …} (формат upstream) | Стандартный конверт пагинации {status, total, count, offset, items, has_more, next_offset} — устаревшие ключи остаются в качестве дополнительных на протяжении одного релиза |
Клиенты версии 1.x, использующие /sse, необходимо перенастроить на /mcp — поддержка SSE удалена.
Возможности
-
📋 Управление тест-кейсами — создание, обновление, удаление и поиск тест-кейсов
-
💬 Комментарии к тест-кейсам — добавление, обновление, удаление и просмотр комментариев с поддержкой пагинации и фильтрации
-
🐛 Отслеживание задач — создание, управление и удаление багов с подробным контекстом
-
💬 Комментарии к задачам — добавление, обновление, удаление и просмотр комментариев с поддержкой пагинации и фильтрации
-
📝 Управление требованиями — создание и упорядочивание продуктовых требований, управление ими с помощью структуры папок
-
📚 База знаний — загрузка, просмотр, добавление в избранное и удаление документов в базе знаний проекта; папки создаются по мере необходимости. Также доступен импорт с веб-сайтов и из Coda, Jira, Confluence или Figma
-
🏃 Планирование спринтов — создание, обновление, удаление спринтов и управление ими
-
🏁 Тестовые прогоны — создание разовых и запланированных (повторяющихся) прогонов, их редактирование, повторный запуск и удаление, выбор окружений и сборок приложения, добавление тест-кейсов — по имени или ID
-
🧪 Тестовые данные — управление тестовыми окружениями проекта (создание, переименование, дублирование и удаление), их переменными и областью Globals, а также файлами тестовых данных (загрузка, просмотр, скачивание и удаление), сборками приложения и категориями файлов — по имени или ID
-
🤖 Спринты Testpert — полный процесс обогащения тестирования с помощью AI: загрузка спецификаций, ответы на вопросы о требованиях, редактирование плана тестирования и автоматическая генерация тест-кейсов
-
👥 Командная работа — назначение задач по имени или адресу электронной почты с автоматическим преобразованием в ID пользователя
-
👤 Управление участниками команды — добавление участников, изменение их ролей и удаление по названию команды или её ID
-
🔍 Интеллектуальный поиск — поиск проектов и команд без необходимости запоминать ID
-
🤖 Интерактивные сценарии — пошаговый выбор контекста для всех операций
Быстрый старт
1. Создайте аккаунт Bugasura
Этого достаточно для работы размещённого сервера. При первом использовании AI-инструмент откроет в браузере страницу входа Bugasura. Подтвердите доступ один раз, и подключение будет готово. Токены автоматически обновляются в течение 30 дней.
API-ключ нужен только для локальной настройки STDIO, описанной в разделе Локальная разработка.
2. Установите MCP-сервер
Добавьте URL сервера в AI-инструмент. Заголовки и ключи не нужны: клиент самостоятельно обнаружит способ входа через OAuth и поможет пройти авторизацию.
Claude Desktop
Откройте Claude Desktop → Settings → Connectors → Add Custom Connector
-
Имя:
Bugasura -
URL:
https://mcp.bugasura.io/mcp
Нажмите Connect, войдите в Bugasura и нажмите Allow на странице подтверждения доступа.
VS Code
Установить в VS Code или добавьте сервер в конфигурацию MCP для VS Code:
{
"servers": {
"bugasura": {
"type": "http",
"url": "https://mcp.bugasura.io/mcp"
}
}
}
При первом вызове инструмента VS Code обнаружит вход через OAuth и откроет браузер.
Claude Code
claude mcp add --transport http bugasura https://mcp.bugasura.io/mcp
Затем выполните /mcp в Claude Code, выберите Bugasura → Authenticate и завершите вход в браузере.
Документация MCP для Claude Code
ChatGPT
Откройте Settings → Apps & Connectors → Advanced → включите Developer mode, затем нажмите Create:
-
Имя:
Bugasura -
URL MCP-сервера:
https://mcp.bugasura.io/mcp -
Аутентификация: OAuth
Нажмите Create, войдите в Bugasura и нажмите Allow.
Codex
codex mcp add bugasura --url https://mcp.bugasura.io/mcp
codex mcp login bugasura
Cursor
Добавить в Cursor или добавьте сервер в ~/.cursor/mcp.json:
{
"mcpServers": {
"bugasura": {
"url": "https://mcp.bugasura.io/mcp"
}
}
}
Рядом с сервером в Cursor появится метка Needs login. Нажмите её, чтобы войти.
Windsurf
Добавьте сервер в конфигурацию MCP для Windsurf:
{
"mcpServers": {
"bugasura": {
"serverUrl": "https://mcp.bugasura.io/mcp"
}
}
}
При первом использовании Windsurf откроет страницу входа.
Cline
-
Откройте Cline
-
Нажмите ☰ → MCP Servers → вкладка Remote Servers
-
Нажмите Edit Configuration
-
Добавьте:
{
"mcpServers": {
"bugasura": {
"url": "https://mcp.bugasura.io/mcp",
"type": "streamableHttp"
}
}
}
Roo Code
{
"mcpServers": {
"bugasura": {
"type": "streamable-http",
"url": "https://mcp.bugasura.io/mcp"
}
}
}
3. Начните работу
После установки просто общайтесь с AI-ассистентом на естественном языке:
"List all my Bugasura teams and projects"
"Create a test case for login functionality with high severity"
"Create a requirement for user authentication feature"
"Show me all critical bugs in sprint 5"
Как это работает
ID не нужны
В Bugasura MCP предусмотрен интерактивный выбор контекста. Вам не нужно знать ID команды, проекта или пользователя — просто опишите, что нужно сделать, на естественном языке.
Пример: создание задачи без знания ID:
Вы: "Create a bug for the login button not working"
AI: [Calls MCP server]
"Which team should I use?
1. Acme Corp (Admin)
2. Client Project (Member)"
Вы: "Acme Corp"
AI: "Which project?
1. Mobile App
2. Web App"
Вы: "Mobile App"
AI: "Which sprint?
1. Sprint 5 (IN PROGRESS)
2. Sprint 6 (SCHEDULED)"
Вы: "Sprint 5"
AI: ✓ "Created issue #ISSUE-123 in Sprint 5"
Система автоматически проведёт вас через выбор команды, проекта и спринта.
Умное определение исполнителя
Назначайте задачи по имени, адресу электронной почты или ID пользователя — система автоматически преобразует данные:
"Assign issue 123 to John Doe"
"Add jane@example.com and user 789 to issue 456"
"Remove Sarah from issue 321"
Функция работает как для задач, так и для тест-кейсов.
Инструменты поиска
Находите ресурсы, не запоминая их ID:
"Find my mobile app project"
→ Автоматический поиск по ВСЕМ командам
"Show me all projects I have access to"
→ Полный контекст в одном вызове
Что можно делать
📋 Тест-кейсы
Create an API test case for user authentication with priority P1
List all test cases for the mobile app project
Update test case 123 to mark it as PASS
Assign test case 456 to john@example.com
Delete test case 789
Delete test case with key "TES5"
Delete test case named "Verify login with valid credentials"
💬 Комментарии к тест-кейсам
List all comments on test case 123
List comments on test case "Verify login with valid credentials"
List only user comments on test case 456 (exclude system comments)
Get details of comment 789
Add a comment "Test passed on Chrome and Firefox" to test case 123
Add a private comment to test case 456
Update comment 789 with new text
Delete comment 456
📝 Требования
Create a requirement titled "User Authentication" with details and priority P1
List all requirements for the mobile app project
Get requirement details for requirement ID 2036
Update requirement 2036 to change severity to HIGH
Assign requirement 456 to john@example.com
Create a folder named "Sprint 1 Features" for organizing requirements
List all requirement folders in a project
Delete requirement 789
Link test cases to requirement 2036
🐛 Задачи и ошибки
Create a critical bug for login page crash in sprint 5
Show me all open issues assigned to me
Update issue 789 to change status to "Fixed"
Add John and Jane as assignees to issue 123
Delete issue 456
Delete issue with key "ISS09"
Delete issue with summary "Login button not working"
💬 Комментарии к задачам
List all comments on issue 123
List comments with pagination (start at 10, show 20 results)
List only user comments, exclude system comments
Get details of comment 456
Add a comment "Fixed in latest build" to issue 789
Add a private comment to issue 123
Update comment 456 with new text
Delete comment 789
🏃 Спринты
Create a new sprint called "Sprint 15" for the mobile app
List all sprints for project 456
Update sprint 789 to mark it as COMPLETED
Show sprint details including issue statistics
Delete sprint 321
Delete sprint named "Sprint 15"
🏁 Тестовые запуски
List the test runs for the "Login Sprint"
Show me the environments and app builds for this project
Create a test run called "Smoke run" for the "Login Sprint" using the "Staging" environment
Schedule a daily run "Nightly" for the "Login Sprint" at 09:00, ending after 10 runs
Schedule a run every 2 weeks on Monday and Friday at 09:00
Add test cases 12, 15, 18 to the "Smoke run" run
Rename the "Smoke run" run and mark it COMPLETED
Pause the "Nightly" scheduler
Rerun the "Nightly" scheduler
Delete the "Smoke run" run
Примечание: На отчёты и наборы, окружения, сборки приложения, запуски и планировщики можно ссылаться по названию или числовому ID — названия распознаются автоматически. Если название неоднозначно, система подскажет, что нужно уточнить.
🧪 Тестовые данные
List the test data environments for this project
Create a "Staging" environment and set its baseUrl to https://staging.example.com
Add a variable loginEmail = qa@example.com to the Staging environment
Show me everything in the Staging environment
Duplicate Staging as "UAT"
Deactivate the legacyToken variable in Globals
List the App Build files in Production
Upload /home/me/users.csv to the Staging environment as Sample Data Files
Show me what's in users.csv in Staging
Download app-release.apk from Production to /home/me/builds/
Which app builds does this project have?
Add a custom file category "Payment Fixtures"
Delete the "Old QA" environment
Примечание: На окружения, переменные и файлы можно ссылаться по названию или числовому ID. Для глобальной области проекта используйте "Globals". При создании и удалении необходимо явно указывать область и точно соблюдать названия; для чтения достаточно указать часть названия. Перед удалением окружения с пользовательскими переменными или файлами система запросит подтверждение (delete_contents=true). Значения переменных baseUrl и apiBaseUrl по умолчанию можно изменить, но сами переменные нельзя переименовать или удалить.
🤖 Спринты Testpert
TestPert — платная функция на уровне проекта, которая использует AI для создания полного плана тестирования и тест-кейсов на основе документов с требованиями.
Обычный процесс (с загрузкой документа):
Create a TestPert sprint called "Login Feature Sprint"
Upload /path/to/login-spec.pdf to the knowledge base
Start the analysis and answer the requirement questions
Review the test plan focus areas and feature tree
Generate test cases for the sprint
Процесс без обогащения требований (на основе уже существующих требований):
Create a TestPert sprint with skip_enrich_requirements=true
Link requirement IDs 101 and 102 to the sprint
Build the test plan from those requirements
📋 Проекты
List all projects in team 123
Find project by name "Mobile App"
Get detailed information for project 456
Create a new project "E-commerce Web App" in team 123
Update project 789 name to "Mobile Application"
Update project "Mobile App" to change issue prefix to "MOB"
Delete project 321
Delete project "Old Test Project"
👥 Управление командами
List all my teams
Find team by name "Acme"
Get detailed information for team 123
Get detailed information for team "Engineering"
Create a new team called "Mobile App Team"
Update team 456 name to "Web Development Team"
Rename team "Mobile Team" to "Mobile App Development"
List all members in team "Acme Corp"
Add john@example.com and jane@example.com to team "Engineering"
Invite user@example.com to team 123
Promote user 456 to admin in team "Marketing"
Demote user to regular member in team "Sales"
Remove john@example.com from team "Sales"
Remove user by name "John Doe" from team 123
Show all projects in team 456
Доступные инструменты
Контекст и поиск
-
bugasura_get_user_context— получить сведения обо всех командах и проектах за один вызов -
bugasura_find_team_by_name— найти команду по названию -
bugasura_find_project_by_name— найти проекты во всех командах -
bugasura_list_teams— вывести список всех команд, в которых вы состоите -
bugasura_get_team— получить подробную информацию о команде, включая настройки и сведения о подписке (поддерживаетteam_idилиteam_name) -
bugasura_create_team— создать команду (создатель становится её владельцем и администратором) -
bugasura_update_team— изменить название команды (только для администратора; поддерживаетteam_idилиteam_name) -
bugasura_delete_team— безвозвратно удалить команду (только для администратора; ОПЕРАЦИЯ НЕОБРАТИМА; поддерживаетteam_idилиteam_name) -
bugasura_list_team_members— вывести список участников команды с их ID, именами, адресами электронной почты и ролями -
bugasura_list_projects— вывести список проектов выбранной команды -
bugasura_get_project_details— получить подробную информацию о проекте -
bugasura_create_project— создать проект (поддерживается интерактивный выбор команды) (НОВОЕ) -
bugasura_update_project— изменить название, префикс и настройки проекта (поддерживаетproject_idилиproject_name; может потребоваться роль администратора) (НОВОЕ) -
bugasura_delete_project— безвозвратно удалить проект (поддерживаетproject_idилиproject_name; только для администратора; ОПЕРАЦИЯ НЕОБРАТИМА) (НОВОЕ)
Гибкий выбор команды: инструменты bugasura_get_team, bugasura_update_team и bugasura_delete_team поддерживают как team_id (числовой ID), так и team_name (текстовое название с поиском по частичному совпадению). Выбирайте удобный вариант.
Гибкий выбор проекта: инструменты bugasura_update_project и bugasura_delete_project поддерживают как project_id (числовой ID), так и project_name (название с поиском по частичному совпадению). (НОВОЕ)
Примечание: удаление команды необратимо и приводит к удалению всех связанных проектов, спринтов, задач, тест-кейсов и требований. Удаление проекта также необратимо и приводит к удалению всех связанных спринтов, задач и тест-кейсов. Используйте эти инструменты с особой осторожностью!
Управление участниками команды
-
bugasura_add_team_members— пригласить пользователей в команду по адресам электронной почты (поддерживаетteam_idилиteam_name) -
bugasura_update_team_member— изменить роль участника команды (admin/member) (поддерживаетteam_idилиteam_name) -
bugasura_delete_team_user— удалить пользователя из команды (поддерживаетteam_idилиteam_name; автоматически находит пользователя по ID, адресу электронной почты или имени)
Гибкий выбор команды: все инструменты управления участниками поддерживают как team_id (числовой ID), так и team_name (название с поиском по частичному совпадению). Выбирайте удобный вариант.
Гибкий поиск пользователя: инструмент bugasura_delete_team_user позволяет найти пользователя по:
-
ID пользователя (например, "123")
-
Адресу электронной почты (например, "john@example.com")
-
Имени или его части (например, "John", "John Doe")
Примечание: управлять участниками команды могут только её администраторы. Владельца команды удалить нельзя.
Управление спринтами
-
bugasura_list_sprints— вывести список всех спринтов проекта -
bugasura_get_sprint_details— получить сведения о спринте и статистику -
bugasura_create_sprint— создать спринт -
bugasura_update_sprint— изменить сведения о спринте (поддерживается частичное обновление) -
bugasura_delete_sprint— безвозвратно удалить спринт (поддерживается поиск по ID или названию)
Примечание: все инструменты для работы со спринтами поддерживают интерактивный выбор контекста. Удалить спринт можно по числовому ID или названию.
Управление задачами
-
bugasura_list_issues— вывести список задач, при необходимости отфильтровав его по спринту -
bugasura_get_issue— получить подробную информацию о задаче -
bugasura_create_issue— создать ошибку или задачу, при необходимости добавив вложения (upload_id/file_paths) -
bugasura_add_issue_attachments— прикрепить файлы (снимки экрана, журналы, записи) к существующей задаче -
bugasura_delete_issue_attachments— удалить вложения задачи по имени файла (ОПЕРАЦИЯ НЕОБРАТИМА; перед удалением имена файлов проверяются по задаче) -
bugasura_update_issue— изменить сведения о задаче (поддерживается частичное обновление) -
bugasura_delete_issue— безвозвратно удалить задачу (поддерживается поиск по ID, ключу задачи, например "ISS09", или её краткому описанию/названию) -
bugasura_get_issue_assignees— получить список исполнителей задачи с именами, адресами электронной почты и изображениями профиля -
bugasura_add_issue_assignees— добавить исполнителей по имени, адресу электронной почты или ID -
bugasura_remove_issue_assignees— удалить исполнителей по имени, адресу электронной почты или ID
Примечание: все инструменты для работы с задачами поддерживают интерактивный выбор контекста. Удалить задачу можно по числовому ID, ключу задачи (например, "ISS09") или её краткому описанию.
Комментарии к задачам
-
bugasura_list_issue_comments— вывести список комментариев к задаче с поддержкой пагинации и фильтрации (поддерживается фильтрcreator_idи исключение системных комментариев) -
bugasura_get_issue_comment— получить подробную информацию об отдельном комментарии, включая полный текст и метаданные -
bugasura_add_issue_comment— добавить комментарий к задаче (поддерживаются открытый или закрытый доступ, HTML-форматирование и вложения) -
bugasura_update_issue_comment— изменить текст существующего комментария и добавить вложения (только для автора; поддерживается интерактивный выбор комментария) -
bugasura_delete_issue_comment— безвозвратно удалить комментарий (для автора или администратора; поддерживается интерактивный выбор комментария)
Основные возможности:
-
Пагинация: вывод комментариев с параметрами
start_atиmax_results(по умолчанию — 10 результатов, максимум — 100) -
Фильтрация: фильтрация по автору комментария (
creator_id) или исключение системных комментариев (get_user_comments_only) -
Интерактивный выбор: если данные не указаны, система предлагает выбрать команду → проект → задачу → комментарий
-
Типы комментариев: комментарии пользователей (доступны для редактирования) и системные комментарии (создаются автоматически, доступны только для чтения)
-
Управление доступом: открытые комментарии (видны всем) и закрытые комментарии (видны только участникам команды)
-
Поддержка HTML: комментарии поддерживают HTML-форматирование и упоминания пользователей (@username)
Примечание: все инструменты для работы с комментариями поддерживают полный интерактивный выбор контекста, включая выбор комментария для изменения или удаления. Системные комментарии нельзя изменять или удалять.
Управление тест-кейсами
-
bugasura_list_test_cases— вывести список тест-кейсов проекта -
bugasura_get_test_case— получить подробную информацию о тест-кейсе -
bugasura_create_test_case— создать тест-кейс -
bugasura_update_test_case— изменить тест-кейс (поддерживается частичное обновление; исполнителей можно указать по имени, адресу электронной почты или ID) -
bugasura_delete_test_case— безвозвратно удалить тест-кейс (поддерживается поиск по ID, ключу тест-кейса, например "TES5", или названию сценария) -
bugasura_link_test_cases_to_sprint— добавить существующие тест-кейсы в спринт (ID тест-кейсов указываются через запятую) -
bugasura_unlink_test_cases_from_sprint— удалить тест-кейсы из спринта; они останутся в проекте -
bugasura_list_agents— вывести список AI-агентов (API, Browser, Mobile), включённых в проект, и описание их задач -
bugasura_assign_test_cases_to_agent— назначить тест-кейсы спринта агенту для соответствующей платформы — в спринте или тестовом запуске -
bugasura_run_agent_test_cases— поставить тест-кейсы агента в тестовом запуске в очередь (action='start') или сообщить об их выполнении (action='status')
Примечание: все инструменты для работы с тест-кейсами поддерживают интерактивный выбор контекста. Удалить тест-кейс можно по числовому ID, ключу (например, "TES5") или названию сценария.
Управление тестовыми запусками
-
bugasura_list_test_run_environments— вывести список сред тестирования и сборок приложения для проекта (используйте инструмент, чтобы выбрать среду или сборку приложения по названию) -
bugasura_list_test_runs— вывести список выполнений тестовых запусков и планировщиков для набора тестов (отчёт) -
bugasura_get_test_run_details— получить подробную информацию об отдельном выполнении тестового запуска -
bugasura_create_test_run— создать тестовый запуск — однократный или запланированный (повторяющийся), с удобными настройками повторения, средой, сборкой приложения и подготовленными тест-кейсами -
bugasura_update_test_run— изменить отдельное выполнение тестового запуска (название, статус, среду, сборку приложения) -
bugasura_update_test_run_scheduler— изменить тестовый запуск или планировщик (переименовать, изменить среду или сборку, переключить однократный/запланированный режим, изменить частоту или параметры повторения, приостановить или возобновить) -
bugasura_rerun_test_run— запустить новое выполнение на основе существующего планировщика -
bugasura_add_test_cases_to_run— добавить (скопировать) тест-кейсы в существующий запуск -
bugasura_delete_test_run— удалить одно или несколько выполнений тестового запуска (по умолчанию — мягкое удаление; для безвозвратного удаления укажитеis_permanent_delete=1) -
bugasura_delete_test_run_scheduler— удалить один или несколько планировщиков (по умолчанию — мягкое удаление; для безвозвратного удаления укажитеis_permanent_delete=1)
Примечание: все инструменты для работы с тестовыми запусками поддерживают интерактивный выбор контекста. Отчёты и наборы тестов, среды, сборки приложения, запуски и планировщики можно указывать по названию или числовому ID (названия определяются автоматически; при неоднозначности система запрашивает уточнение). Параметры повторения задаются с помощью удобных опций (frequency, repeat_value/repeat_unit, selected_days, recurrence_type), а не через необработанный JSON.
Используемые конечные точки API:
| Инструмент | Метод и endpoint | Назначение |
|---|---|---|
bugasura_list_test_run_environments | GET /v1/projectTestDataEnvironments/get | Показывает окружения и сборки приложения, которые можно выбрать по имени. |
bugasura_list_test_runs | GET /v1/testrunsExecution/getList | Показывает запуски тестов и планировщики для набора тестов. |
bugasura_get_test_run_details | GET /v1/testrunsExecution/getList | Получает данные одного запуска, отфильтрованного по идентификатору. |
bugasura_create_test_run | POST /v1/testrunsExecution/add | Создаёт одиночный или запланированный запуск. |
bugasura_update_test_run | POST /v1/testrunsExecution/testruns/update | Обновляет отдельный запуск тестов. |
bugasura_update_test_run_scheduler | POST /v1/testrunsExecution/scheduler/update | Изменяет запуск или планировщик (в модальном окне редактирования запуска в интерфейсе). |
bugasura_rerun_test_run | POST /v1/testrunsExecution/rerun | Повторно запускает тесты на основе существующего планировщика. |
bugasura_add_test_cases_to_run | POST /v1/testrunsExecution/copy | Добавляет тест-кейсы в запуск. |
bugasura_delete_test_run | POST /v1/testrunsExecution/deleteTestRunsExecution | Удаляет один или несколько запусков тестов. |
bugasura_delete_test_run_scheduler | POST /v1/testrunsExecution/deleteScheduler | Удаляет один или несколько планировщиков. |
Названия определяются с помощью bugasura_list_sprints (отчёт ↔ спринт), bugasura_list_test_run_environments (окружение / сборка приложения) и /v1/testrunsExecution/getList (запуск / планировщик).
Управление тестовыми данными
-
bugasura_list_test_data_environments— выводит список окружений тестовых данных проекта с ихbaseUrl/apiBaseUrl(при необходимости — вместе с глобальной областью Globals) -
bugasura_get_test_data_environment— получает данные одного окружения или Globals, включая все активные переменные и файлы -
bugasura_create_test_data_environment— создаёт окружение с пустыми переменнымиbaseUrl/apiBaseUrl -
bugasura_rename_test_data_environment— переименовывает окружение -
bugasura_duplicate_test_data_environment— копирует окружение или область Globals вместе с переменными и файлами в новое окружение -
bugasura_delete_test_data_environment— удаляет окружение вместе с переменными и файлами (ОПЕРАЦИЯ С УДАЛЕНИЕМ ДАННЫХ; если окружение не пустое, требуетсяdelete_contents=true) -
bugasura_list_test_data_variables— выводит список переменных окружения или Globals с фильтрацией по ключу или состоянию активности -
bugasura_create_test_data_variable— добавляет переменную в окружение или Globals -
bugasura_update_test_data_variable— изменяет значение, ключ, описание или состояние активности переменной (частичное обновление) -
bugasura_delete_test_data_variable— удаляет одну переменную (ОПЕРАЦИЯ С УДАЛЕНИЕМ ДАННЫХ; переменные по умолчанию защищены от удаления) -
bugasura_list_test_data_files— выводит список файлов окружения или Globals с фильтрацией по категории или имени, а также ссылки для скачивания и категории проекта -
bugasura_upload_test_data_files— загружает один или несколько файлов в окружение или Globals в выбранную категорию: по ссылке для загрузки, ссылке общего доступа или локальным путям (только для терминального режима) -
bugasura_get_test_data_file— получает сведения об одном файле, ссылку для скачивания и, для файлов Office, ссылку для предварительного просмотра; при необходимости считывает содержимое текстового файла -
bugasura_download_test_data_file— получает прямую ссылку для скачивания файла и при необходимости сохраняет его на диск сервера (только для терминального режима) -
bugasura_list_test_data_app_builds— выводит список сборок приложения (категория App Build) во всех окружениях и Globals -
bugasura_delete_test_data_file— удаляет один файл (ОПЕРАЦИЯ С УДАЛЕНИЕМ ДАННЫХ) -
bugasura_list_test_data_categories— выводит список встроенных и пользовательских категорий файлов -
bugasura_create_test_data_category— добавляет пользовательскую категорию файлов
Основные возможности:
-
Для окружений, переменных и файлов можно указывать имя или числовой идентификатор;
"Globals"обозначает глобальную область проекта -
При удалении всегда указывается конкретный найденный идентификатор — целые области не удаляются
-
При обновлении сохраняются все поля, которые не были переданы. Для переменных
baseUrl/apiBaseUrlпо умолчанию можно менять только значение и состояние активности — так же, как в веб-приложении
Примечание: Для всех инструментов работы с тестовыми данными обязательны team_id и project_id. Инструментам создания и обновления переменных, а также загрузки файлов дополнительно требуется environment (для глобальной области передайте "Globals"). Типы файлов соответствуют веб-приложению: категория 'App Build' принимает файлы apk, aab, ipa, apks, apkm и xapk; остальные категории — документы, электронные таблицы, csv/json/xml/yaml, изображения, аудио и видео, а также сборки приложений. Максимальный размер одного файла — 1024MB.
Загрузка файлов. bugasura_upload_test_data_files отправляет сами файлы на /v1/projectTestDataFiles/add в виде частей multipart testData[], поэтому инструмент работает независимо от того, где запущен сервер. Локальные пути (file_paths) поддерживаются только в режиме STDIO. На размещённом сервере пользователь загружает файл самостоятельно через bugasura_create_upload_link(purpose='test_data'), а инструмент использует полученный upload_id (до 100 MB на одну ссылку). Также можно передать публичную ссылку Google Drive, Dropbox или другого сервиса в source_url (до 1024 MB). Для крупных сборок отводится больше времени. Если Bugasura всё же отвечает медленнее установленного лимита, инструмент перед тем, как сообщить, что загрузка не подтверждена, проверяет, поступили ли файлы. Благодаря этому повторная попытка не создаёт дубликаты.
Используемые API endpoints:
| Инструмент | Метод и endpoint | Назначение |
|---|---|---|
bugasura_list_test_data_environments | GET /v1/projectTestDataEnvironments/get | Выводит список окружений и строку Globals. |
bugasura_get_test_data_environment | GET /v1/projectTestDataEnvironmentsDetails/get | Получает активные переменные и файлы выбранной области. |
bugasura_create_test_data_environment | POST /v1/projectTestDataEnvironments/add | Создаёт окружение. |
bugasura_rename_test_data_environment | POST /v1/projectTestDataEnvironments/update | Переименовывает окружение. |
bugasura_duplicate_test_data_environment | POST /v1/projectTestDataEnvironments/duplicate | Копирует окружение или Globals. |
bugasura_delete_test_data_environment | POST /v1/projectTestDataEnvironments/delete | Удаляет окружение и его содержимое. |
bugasura_list_test_data_variables | GET /v1/projectTestData/get | Выводит список переменных. |
bugasura_create_test_data_variable | POST /v1/projectTestData/add | Создаёт переменную. |
bugasura_update_test_data_variable | POST /v1/projectTestData/update | Обновляет переменную. |
bugasura_delete_test_data_variable | POST /v1/projectTestData/delete | Удаляет переменную. |
bugasura_list_test_data_files | GET /v1/projectTestDataFiles/get | Выводит список файлов и пользовательских категорий. |
bugasura_upload_test_data_files | POST /v1/projectTestDataFiles/add | Отправляет файлы в виде частей multipart testData[] (до 20 файлов и 1024 MB за один вызов). |
bugasura_get_test_data_file | GET /v1/projectTestDataFiles/get | Получает сведения о файле (содержимое считывается с CDN). |
bugasura_download_test_data_file | GET /v1/projectTestDataFiles/get | Получает CDN-ссылку для скачивания файла. |
bugasura_list_test_data_app_builds | GET /v1/projectTestDataFiles/get | Выводит список файлов App Build во всех областях. |
bugasura_delete_test_data_file | POST /v1/projectTestDataFiles/delete | Удаляет файл. |
bugasura_list_test_data_categories | GET /v1/projectTestDataFiles/get | Получает список пользовательских категорий. |
bugasura_create_test_data_category | POST /v1/projectTestDataFiles/addCategory | Добавляет пользовательскую категорию. |
Комментарии к тест-кейсам
-
bugasura_list_testcase_comments— выводит список комментариев к тест-кейсу с поддержкой постраничной выдачи и фильтрации (в том числе поcreator_idи с исключением системных комментариев) -
bugasura_get_testcase_comment— получает полные сведения об одном комментарии к тест-кейсу, включая содержимое и метаданные -
bugasura_add_testcase_comment— добавляет комментарий к тест-кейсу с поддержкой публичного и приватного доступа, а также HTML-форматирования -
bugasura_update_testcase_comment— изменяет текст существующего комментария к тест-кейсу (доступно только автору; поддерживается интерактивный выбор комментария) -
bugasura_delete_testcase_comment— безвозвратно удаляет комментарий к тест-кейсу (доступно автору или администратору; поддерживается интерактивный выбор комментария)
Основные возможности:
-
Постраничная выдача: список комментариев можно получать с параметрами
start_atиmax_results(по умолчанию — 10 результатов, максимум — 100) -
Фильтрация: можно фильтровать комментарии по автору (
creator_id) или исключить системные комментарии (get_user_comments_only) -
Интерактивный выбор: если параметры не указаны, инструмент запрашивает команду, проект, тест-кейс и комментарий
-
Типы комментариев: пользовательские комментарии (доступны для редактирования) и системные комментарии (создаются автоматически и доступны только для чтения)
-
Управление видимостью: публичные комментарии видны всем, приватные — только участникам команды
-
Поддержка HTML: комментарии поддерживают HTML-форматирование и упоминания пользователей (@username)
-
Вложения:
upload_id/file_pathsпозволяют прикрепить файлы к новому комментарию или добавить их к обновлённому. Тест-кейс может хранить файлы только в комментариях. При обновлении существующие вложения сохраняются, если вcomment_attachmentsне указан список файлов, которые нужно оставить.
Примечание: Все инструменты для работы с комментариями к тест-кейсам поддерживают интерактивный выбор контекста, включая выбор комментария для операций обновления и удаления. Системные комментарии нельзя редактировать или удалять.
Управление требованиями
-
bugasura_list_requirements— Показать все требования проекта или спринта -
bugasura_get_requirement_details— Получить подробную информацию о требовании, включая иерархию родительских и дочерних элементов -
bugasura_create_requirement— Создать требование с интерактивным выбором папки и, при необходимости, вложениями -
bugasura_add_requirement_attachments— Добавить файлы к существующему требованию -
bugasura_update_requirement— Изменить сведения о требовании (поддерживаются частичные обновления, остальные поля сохраняются) -
bugasura_delete_requirement— Безвозвратно удалить требование -
bugasura_link_requirement_testcases— Связать требование с тест-кейсами (укажите ID через запятую) -
bugasura_unlink_requirement_testcases— Удалить связи между требованием и тест-кейсами; сами тест-кейсы останутся -
bugasura_create_requirement_folder— Создать папку для организации требований -
bugasura_list_requirement_folders— Показать все папки проекта -
bugasura_list_requirement_comments— Показать комментарии к требованию (с постраничной навигацией) -
bugasura_get_requirement_comment— Получить отдельный комментарий и URL его вложений -
bugasura_add_requirement_comment— Добавить комментарий к требованию, при необходимости — с вложениями или в виде ответа в цепочке -
bugasura_update_requirement_comment— Изменить комментарий и добавить вложения (существующие сохраняются, если это не предусмотрено значениемcomment_attachments) -
bugasura_delete_requirement_comment— Удалить комментарий и его вложения (НЕОБРАТИМОЕ ДЕЙСТВИЕ)
Основные возможности:
-
Организация по папкам: требования необходимо распределять по папкам. При создании требования интерактивный выбор поможет выбрать существующую папку или создать новую.
-
Иерархия родительских и дочерних элементов: у требования могут быть родительские требования, что позволяет организовать многоуровневую структуру (EPICs → STORYs → TASKs).
-
Удобное определение исполнителя: назначить исполнителя можно по имени, адресу электронной почты или ID пользователя — система автоматически определит нужного пользователя.
-
Сохранение полей: перед обновлением система получает существующие данные и сохраняет все поля, которые не изменяются.
-
Связь с тест-кейсами: связывайте требования с тест-кейсами для обеспечения прослеживаемости.
Примечание: Все инструменты для работы с требованиями поддерживают интерактивный выбор контекста. Поле folder_id обязательно для всех операций с требованиями: его значение будет получено автоматически или выбрано интерактивно.
База знаний
База знаний — это библиотека документов на уровне проекта. Документы сгруппированы по папкам и отображаются на странице Knowledge Base проекта. Она не связана с отдельной базой знаний спринта TestPert (см. инструменты Testpert ниже).
Документы
-
bugasura_list_knowledge_base_documents— Показать документы в папке или во всём проекте (поддерживаются фильтрstarred_onlyи постраничная навигация) -
bugasura_download_knowledge_base_document— Получить прямую ссылку для скачивания загруженного документа и при необходимости сохранить его на диск -
bugasura_star_knowledge_base_document— Добавить или снять отметку со звёздочкой (starred=Falseснимает отметку) -
bugasura_delete_knowledge_base_document— Безвозвратно удалить документ (только для администраторов, НЕОБРАТИМОЕ ДЕЙСТВИЕ)
Импорт (всё находится в tools/knowledge_base.py)
В этот раздел входят шесть пунктов меню «+» на странице Knowledge Base и собственное меню Import редактора документов. Все операции, кроме загрузки файла, выполняются в фоновом режиме: инструмент возвращает результат сразу после постановки задачи на сканирование или синхронизацию в очередь. Ход выполнения отображается в поле stage инструмента bugasura_list_knowledge_base_documents. Данные для подключения к сервисам передаются при каждом вызове и не сохраняются этим сервером.
Только локальный режим (STDIO): для импорта из Coda, Jira, Confluence и Figma, а также для инструментов просмотра этих данных требуется API-токен соответствующего сервиса. Поэтому эти функции недоступны на размещённом сервере (
/mcp): токен, введённый в размещённом чате, будет передан через переписку. Для их использования запустите сервер локально. На размещённом сервере можно импортировать веб-сайт или загрузить файл.
-
bugasura_create_upload_link— Создать на этом сервере временную одноразовую ссылку для загрузки файла с компьютера пользователя (только для размещённого сервера). Параметрpurposeзадаёт инструмент, который будет использовать файл:knowledge_base,document_import,testpert_kb,attachment(вложения к задачам, комментариям к задачам и тест-кейсам, а также требованиям; поддерживаются любые типы файлов) илиtest_data(bugasura_upload_test_data_files) -
bugasura_upload_knowledge_base_document— Загрузить документ или документы (.txt,.pdf,.doc,.docx,.md) по ссылке для загрузки, общей ссылке или локальному пути -
bugasura_import_website_to_knowledge_base— Выполнить сканирование веб-сайта (max_pages,include_linked_pages) -
bugasura_import_coda_to_knowledge_base— Импортировать страницы документа Coda («Superhuman Import»); необходимы API-ключ Coda и URL, ID или название документа -
bugasura_import_jira_to_knowledge_base— Импортировать задачи Jira: для каждого проекта Jira создаётся отдельная страница. По умолчанию импортируются проекты целиком; также можно указать конкретныеissue_keys -
bugasura_import_confluence_to_knowledge_base— Импортировать пространства Confluence: для каждого пространства создаётся отдельное дерево страниц. По умолчанию импортируются пространства целиком; также можно указать конкретныеpage_ids -
bugasura_import_figma_to_knowledge_base— Импортировать фреймы Figma в качестве контекста дизайна (НЕОБРАТИМОЕ ДЕЙСТВИЕ — см. раздел «Основные возможности» ниже) -
bugasura_import_file_to_knowledge_base_document— Импортировать файл через меню Import редактора документов: файл.mdсоздаёт новую страницу, а содержимое файла.csv/.xlsx/.xlsдобавляется в виде таблицы Markdown в конец существующей страницы
Сначала определите, какие данные нужно импортировать из подключённого сервиса, с помощью инструментов просмотра:
-
bugasura_list_coda_docs/bugasura_list_coda_pages— Показать документы Coda, доступные по API-ключу, и дерево страниц выбранного документа -
bugasura_list_jira_projects/bugasura_list_jira_issues— Показать проекты, доступные учётной записи (включая количество задач), и задачи выбранного проекта -
bugasura_list_confluence_spaces/bugasura_list_confluence_pages— Показать пространства, доступные учётной записи, и страницы выбранного пространства
Папки
-
bugasura_list_knowledge_base_folders— Показать папки верхнего уровня базы знаний (с постраничной навигацией), включая дерево вложенных папок и документы -
bugasura_create_knowledge_base_folder— Создать папку, при необходимости — внутри существующей -
bugasura_rename_knowledge_base_folder— Переименовать папку, сохранив её родительскую папку и содержимое -
bugasura_delete_knowledge_base_folder— Удалить папку (только для администраторов, НЕОБРАТИМОЕ ДЕЙСТВИЕ)
Документы со страницами
Документ со страницами создаётся в Bugasura, а не загружается как файл, — так работает сценарий «Create Document» в веб-приложении. Его содержимое представляет собой дерево страниц, каждая из которых содержит собственный текст в формате Markdown. Документы, синхронизированные из Coda, Jira, Confluence или по URL, хранятся в том же формате, поэтому инструменты для работы со страницами можно использовать и с ними.
-
bugasura_create_knowledge_base_document— Создать документ со страницами (в нём будет одна пустая страница) -
bugasura_rename_knowledge_base_document— Переименовать документ со страницами -
bugasura_list_knowledge_base_pages— Показать страницы документа вместе со значениямиpage_path,depthиhas_content -
bugasura_create_knowledge_base_page— Добавить страницу, при необходимости вложив её в другую страницу или разместив после неё, и указать её содержимое -
bugasura_rename_knowledge_base_page— Переименовать страницу -
bugasura_get_knowledge_base_page_content— Прочитать текущее содержимое страницы в формате Markdown (вызовите инструмент перед редактированием) -
bugasura_update_knowledge_base_page_content— Записать содержимое страницы в формате Markdown: заменить его целиком (''очищает содержимое) или добавить текст в начало или конец с помощьюmode='append'/mode='prepend' -
bugasura_duplicate_knowledge_base_page— Создать копию страницы, при необходимости включив её вложенные страницы -
bugasura_move_knowledge_base_page— Переместить страницу в другую родительскую страницу или изменить её порядок (parent_page/after_page/to_root) -
bugasura_delete_knowledge_base_page— Удалить страницу вместе с вложенными страницами (НЕОБРАТИМОЕ ДЕЙСТВИЕ)
Основные возможности:
-
Автоматическая работа с папками: передайте
folder_name, чтобы сохранить документ в указанной папке. Название сопоставляется без учёта регистра; если в проекте такой папки нет, она будет создана. Если не указыватьfolder_name, документ сохранится в первой папке базы знаний проекта. Если папок нет, будет создана папкаKnowledge Base. -
Три способа передать файл: файлы никогда не кодируются ассистентом.
-
upload_id(размещённый сервер): инструментbugasura_create_upload_linkвозвращает ссылку на этом сервере/upload/, привязанную к вошедшему в систему пользователю. Ссылка одноразовая и действует 30 минут. Пользователь открывает её и загружает файл через обычную форму либо запускает в терминале командуcurl -sS -F file=@PRD.pdf. Данные файла передаются через браузер или командную оболочку, а не через модель. Файл временно хранится вUPLOAD_STAGING_PATHне более часа, пока инструментbugasura_upload_knowledge_base_document(upload_id=...)(илиbugasura_import_file_to_knowledge_base_documentприpurpose='document_import') не отправит его в Bugasura и не удалит. Использоватьupload_idможет только пользователь, создавший ссылку. -
source_url: ссылка на Google Drive, Dropbox или другой общедоступный ресурс для скачивания. Файл загружает сервер. -
file_paths: абсолютные пути; доступны только локальным серверам STDIO.
-
-
Несколько файлов: можно передать несколько путей или загрузить до 10 файлов по одной ссылке (общий размер — до 100 MB). Все файлы будут помещены в одну папку.
-
Имена папок: имя папки не может содержать ``,
/или\, а в одной родительской папке не может быть двух папок с одинаковым именем.bugasura_rename_knowledge_base_folderсразу сообщает об обоих случаях. Если папке присваивают её текущее имя, операция завершается без внесения изменений. -
Умный поиск документов: документ можно найти по имени файла (сначала выполняется точное совпадение, затем частичное) или по числовому id. Если найдено несколько документов с похожими именами, система возвращает их список, чтобы пользователь мог выбрать нужный. Чтобы сузить поиск, добавьте
folder_name. -
Фоновая обработка: Bugasura автоматически обрабатывает загруженные документы. После завершения обработки они становятся доступными для поиска и входят в контекст проекта.
-
Сначала — ссылки для скачивания: у Bugasura нет отдельной конечной точки для скачивания. Содержимое загруженного файла хранится в CDN, а
bugasura_download_knowledge_base_documentпреобразует сохранённый путь в прямую ссылкуdownload_url, для которой не требуется вход в систему. Для большинства клиентов достаточно этой ссылки. Добавьтеsave_to_path, чтобы также сохранить файл на компьютере, где запущен сервер; это полезно только в том случае, если сервер работает на компьютере пользователя, например при работе через терминал. Для развёртываний, которые не охватывает карта известных хостов, задайтеCDN_BASE_URLв файле.envсервера. CDN использует отдельный хост CloudFront/S3, поэтому его адрес нельзя получить изAPI_BASE_URL. -
Скачивать можно только загруженные файлы: у документов-страниц, записей веб-сайтов и импортов из Jira/Confluence нет отдельных файлов, а в Bugasura нет экспорта в PDF. Поэтому документ-страницу нельзя передать в виде PDF. Чтобы прочитать такие материалы, используйте
bugasura_list_knowledge_base_pages. -
Умный поиск страниц: страницу можно найти по имени (сначала выполняется точное совпадение, затем частичное) или по id страницы (
page_20250104120500). Если найдено несколько страниц с похожими именами, система возвращает их список, чтобы пользователь мог выбрать нужную. -
Учётные данные коннекторов передаются при каждом вызове: учётные данные для Jira, Confluence, Coda и Figma запрашиваются при каждом вызове и передаются напрямую — сервер их не хранит. Для Jira Cloud и Confluence нужен API token, для Jira на собственном сервере (
deployment_type="SERVER") — пароль учётной записи, для Coda — API key, а для Figma — personal access token. Confluence — исключение: если не передавать три аргумента с учётными данными, инструменты просмотра списка используют сохранённую интеграцию Confluence проекта. -
Импорт в существующий документ:
bugasura_import_jira_to_knowledge_baseиbugasura_import_confluence_to_knowledge_baseпо умолчанию создают новый документ. Передайтеdocument_identifier, чтобы объединить выбранные данные с существующим документом-страницей, как это происходит при использовании функции «Импорт → Jira / Confluence» внутри документа в веб-приложении. Если для документа уже выполняется импорт, система сообщит об этом, а не поставит его в очередь повторно. -
Импорт Figma заменяет набор фреймов проекта: в Bugasura для каждого проекта хранится один набор фреймов Figma, и при импорте этот набор перезаписывается: сохранённые фреймы, отсутствующие в переданных данных, удаляются.
bugasura_import_figma_to_knowledge_baseсначала получает существующие фреймы и добавляет их к новым данным, поэтому импорт только добавляет фреймы. Параметрreplace_existing=Trueудаляет существующие фреймы — используйте его, только если об этом попросил пользователь. Каждая ссылка должна вести на фрейм и содержатьnode-id(ссылка должна быть скопирована с помощью функции Figma «Copy link to selection»). Ссылки на файл целиком не принимаются. -
Редактирование страницы выполняется по схеме «прочитать — изменить — записать»: API записывает только Markdown страницы, поэтому
bugasura_get_knowledge_base_page_contentсчитывает её с CDN так же, как веб-редактор. Для этого требуетсяCDN_BASE_URL, как и для скачивания файлов. При записи заменяется всё содержимое страницы, поэтому для изменения её части нужно сначала прочитать текст, внести правки и записать результат целиком сmode='replace'. Чтобы только добавить содержимое к странице, используйтеmode='append'илиmode='prepend'— в этом случае чтение выполняется автоматически, и передать нужно только новый текст. Если страницу слишком объёмно или небезопасно читать целиком, операция будет отклонена, а не выполнена с усечённым текстом. Так неполная копия не сможет заменить полное содержимое страницы.
Примечание: размер документа ограничен 100MB, за исключением bugasura_import_file_to_knowledge_base_document — функции импорта Markdown/CSV/Excel в редактор документов, для которой действует ограничение 10MB. Если пользователь хочет поделиться файлом, сначала вызовите bugasura_prepare_kb_upload: эта функция возвращает инструкции, которые нужно показать пользователю. При удалении документа удаляются его файл и все сведения, которые AI из него извлёк; отменить это действие нельзя. Чтобы удалить папку, в которой ещё есть документы, необходимо указать delete_documents=True; документы в ней также будут удалены. Для удаления документа или папки нужны права администратора команды или проекта. Для удаления страницы с вложенными страницами также требуется delete_sub_pages=True; вложенные страницы будут удалены вместе с ней.
Создание спринта в TestPert
TestPert — платная функция на уровне проекта с AI (is_testpert_enabled в проекте). Она создаёт полный план тестирования и тест-кейсы на основе документов с требованиями или уже существующих требований.
Создание спринта
bugasura_create_testpert_sprint— создать спринт TestPert (перед созданием подтверждает параметры; чтобы продолжить, задайтеconfirm_options=True)
Стандартный процесс — загрузка документов → ответы на вопросы → редактирование плана → генерация
-
bugasura_testpert_upload_kb— привязать документы из базы знаний проекта к спринту или загрузить в него документы и изображения (.txt,.pdf,.docx,.md,.jsonразмером до 100 MB;.png,.jpgи другие изображения размером до 20 MB). Изображения передаются через ссылку для загрузки с параметромpurpose='testpert_kb'. -
bugasura_testpert_list_kb— вывести список документов, которые сейчас находятся в базе знаний -
bugasura_testpert_delete_kb— удалить документ из базы знаний -
bugasura_testpert_generate_sprint_context— запустить анализ требований (KB → SPRINT_CONTEXT) -
bugasura_testpert_get_kb_validation— показать, какие загруженные документы движок не смог уверенно классифицировать, и объяснить причину -
bugasura_testpert_resolve_kb_validation— указать роль для каждого отмеченного документа и возобновить формирование контекста спринта -
bugasura_testpert_get_sprint_context— получить предполагаемые движком платформу, роли пользователей и затрагиваемые модули для проверки -
bugasura_testpert_confirm_sprint_context— подтвердить контекст спринта и перейти к вопросам для уточнения требований -
bugasura_testpert_answer_context_questions— отправить ответы на вопросы AI для уточнения требований -
bugasura_testpert_get_requirement_contexts— получить вопросы для уточнения, недостающие требования и риски для проверки пользователем -
bugasura_testpert_update_requirement_contexts— сохранить решения об одобрении, отклонении или редактировании недостающих требований и рисков (по умолчанию автоматически переходит к RISKS_IN_REQUIREMENTS) -
bugasura_testpert_add_context_question— добавить в спринт вопрос для уточнения требований (кнопка «Добавить вопрос») -
bugasura_testpert_delete_context_question— удалить из спринта вопрос для уточнения требований -
bugasura_testpert_get_testplan— получить созданный план тестирования (области внимания и дерево функций/подфункций) -
bugasura_testpert_update_testplan— изменить уровни областей внимания и дерево функций -
bugasura_testpert_get_features— вывести актуальное дерево функций и подфункций -
bugasura_testpert_add_feature— добавить функцию или подфункцию -
bugasura_testpert_delete_feature— удалить функцию или подфункцию -
bugasura_testpert_enrich_requirements— явно запустить этап расширения требований (необязательно:generate_coverageзапускает его автоматически) -
bugasura_testpert_generate_coverage— перевести спринт на этап покрытия тестами (при необходимости сначала выполняется расширение требований) -
bugasura_testpert_get_coverage— получить интеллект-карту покрытия -
bugasura_testpert_generate_testcases— создать тест-кейсы (ожидает завершения процесса; вызов можно повторить) -
bugasura_testpert_regenerate_testcases— повторно создать или перегенерировать тест-кейсы для одной подфункции после этапаTEST_CASES(требуются ответы пользователя на три раздела модального окна с контекстом; не более 5 попыток для одной подфункции)
Процесс без расширения требований — использовать существующие требования проекта вместо документов
-
bugasura_testpert_link_requirements— привязать существующие требования проекта к спринту в качестве источника -
bugasura_testpert_start_skip_testplan— создать план тестирования непосредственно на основе требований, привязанных к спринту
Управление статусами на низком уровне (для продвинутых пользователей)
bugasura_testpert_advance— установить определённый статус и/или опрашивать систему, пока она не достигнет целевого статуса. Используйте этот инструмент, когда требуется напрямую управлять процессом.
Общая схема процесса:
Normal: create → upload_kb → generate_sprint_context → [get_kb_validation → resolve_kb_validation]*
→ get_sprint_context → confirm_sprint_context → answer_context_questions
→ (missing reqs) → (risks) → get_testplan → enrich → generate_coverage → generate_testcases
* only if generate_sprint_context lands on SPRINT_CONTEXT_USER_VALIDATION instead of SPRINT_CONTEXT
Skip: create (skip_enrich=true) → link_requirements → start_skip_testplan
→ get_testplan → generate_coverage → generate_testcases
Примечания:
-
В проекте должна быть включена функция TestPert (
is_testpert_enabled). Для стандартных спринтов используйтеbugasura_create_sprint. -
Инструменты с периодическим опросом (
generate_sprint_context,resolve_kb_validation,confirm_sprint_context,start_skip_testplan,enrich_requirements,generate_coverage,generate_testcases) выполняются ограниченное время за один вызов. Их можно вызывать повторно: если этап обработки с помощью AI ещё не завершён, вызовите тот же инструмент ещё раз, чтобы проверить его состояние. -
generate_coverageсамостоятельно выполняет этапы обогащения требований и подготовки тест-плана (RISKS_IN_REQUIREMENTS → ENRICH_REQUIREMENTS → TEST_PLANING → TEST_COVERAGE), по одному этапу за вызов. Вызывайтеenrich_requirementsотдельно, только если хотите видеть этот этап как самостоятельный шаг. -
Для изменения статусов и обновления тест-плана требуется API-ключ администратора команды.
Доступные ресурсы
Ресурсы MCP предоставляют доступ только для чтения к вашим данным в Bugasura. AI-ассистенты могут обращаться к ним напрямую:
| Ресурс | Описание |
|---|---|
bugasura://teams | Все команды, в которых вы состоите |
bugasura://teams/{team_id}/projects | Проекты в команде |
bugasura://projects/{project_id}/sprints | Спринты в проекте |
bugasura://projects/{project_id}/issues | Задачи в проекте |
bugasura://projects/{project_id}/test-cases | Тест-кейсы в проекте |
bugasura://projects/{project_id}/requirements | Требования в проекте |
Дополнительные возможности
Пагинация
По умолчанию операции получения списков возвращают 10 результатов:
Show me the first 20 issues (using max_results=20)
Show me issues 11-20 (using start_at=10, max_results=10)
Show me the first 50 comments on issue 123 (using max_results=50)
Show me comments 21-40 on issue 456 (using start_at=20, max_results=20)
Частичное обновление
Изменяйте только нужные поля — значения всех остальных полей сохраняются автоматически:
Update issue 123 to change severity to HIGH
(other fields like status, description, assignees remain unchanged)
Update requirement 2036 to change title only
(severity, priority, assignees, and all other fields are preserved)
Как это работает:
Перед обновлением любой сущности (задачи, требования, тест-кейса или спринта) сервер сначала получает существующую запись, а затем объединяет её данные с вашими изменениями и отправляет результат в API. Это предотвращает случайную очистку или сброс полей.
Пользовательские поля
Create issue with custom fields: {"Environment": "Production", "Build": "1.2.3"}
Фильтрация
List issues for sprint 5 only
Search projects containing "mobile" in the name
List only user comments on issue 123 (exclude system-generated comments)
List comments by a specific user on issue 456 (using creator_id filter)
Режимы транспорта
Bugasura MCP поддерживает два режима транспорта:
STDIO (по умолчанию) — локальные клиенты MCP (подпроцесс, взаимодействующий через stdin/stdout)
python server.py --transport stdio
Streamable HTTP (рекомендуется для удалённого развёртывания) — доступен по пути /mcp
python server.py --transport streamable-http --port 8000
Размещённая версия по адресу https://mcp.bugasura.io/mcp использует Streamable HTTP. Сервер построен на FastMCP 4 и поддерживает обе версии протокола MCP на одной конечной точке: протокол без сохранения состояния от 2026-07-28 и более старое рукопожатие initialize от 2025-11-25. Каждое подключение согласовывает свою версию отдельно, поэтому старые и новые клиенты работают без дополнительных настроек. Для этого режима транспорта необходимо настроить вход через OAuth (см. следующий раздел); без него сервер не запустится. Для STDIO достаточно указать BUGASURA_API_KEY.
Настройка входа через OAuth
Для тех, кто обслуживает сервер. Пользователи этого не видят.
Сервер MCP выступает шлюзом OAuth 2.0 на основе OAuthProxy из FastMCP (core/oauth.py). Клиенты MCP идентифицируют себя либо с помощью Dynamic Client Registration, либо через Client ID Metadata Document (CIMD — URL, который они используют в качестве client_id) и выполняют PKCE. Поддерживаются оба способа. Сам сервер зарегистрирован в Bugasura как единственный конфиденциальный клиент и обменивает код с API-сервером Bugasura напрямую. Токен Bugasura не передаётся клиенту MCP: сервер выдаёт собственный краткосрочный токен и заменяет его при каждом запросе, проверяя токен Bugasura с помощью POST /v1/oauth/introspect (результат проверки кэшируется на 60 секунд).
1. Получите учётные данные клиента в Bugasura
Сервер выполняет вход в Bugasura как конфиденциальный OAuth-клиент bugasura-mcp. Его client secret и callback /auth/callback зарегистрированы в Bugasura, поэтому для самостоятельного размещения сервера команда Bugasura должна выдать необходимые данные (support@bugasura.io).
Токены Bugasura связаны с API-ключом пользователя. Повторная генерация ключа в Bugasura завершает все сеансы MCP этого пользователя.
2. Настройте сервер MCP
Добавьте параметры в dotenv-файл экземпляра (.env или файл арендатора, указанный в MCP_ENV_FILE):
| Переменная | Обязательная | Назначение |
|---|---|---|
MCP_PUBLIC_BASE_URL | да | Публичный https-адрес без завершающего слеша, например https://mcp.bugasura.io. Используется как OAuth issuer (а также передаётся в параметре iss по RFC 9207 при каждом перенаправлении обратно к клиенту) и определяет хост callback. |
BUGASURA_OAUTH_CLIENT_ID | да | bugasura-mcp |
BUGASURA_OAUTH_CLIENT_SECRET | да | Исходный секрет, хеш которого хранится в конфигурации API |
MCP_JWT_SIGNING_KEY | рекомендуется | Используется для подписи токенов, выдаваемых клиентам MCP, и шифрования сохранённого состояния. Если параметр не задан, ключи для обеих операций формируются на основе client secret. В этом случае при смене секрета все пользователи выйдут из системы. |
OAUTH_STORAGE_PATH | рекомендуется | Каталог для постоянного хранения состояния OAuth (/var/lib/bugasura-mcp/): зашифрованное с помощью Fernet хранилище FileTreeStore (по одному JSON-файлу на запись; стандартный вариант FastMCP). Без этого параметра сеансы хранятся в памяти, и после перезапуска каждому клиенту потребуется пройти аутентификацию заново. При переходе с прежнего формата DiskStore все клиенты выйдут из системы один раз; после развёртывания старые файлы diskcache (cache.db*) в каталоге можно удалить. |
UPLOAD_STAGING_PATH | нет | Каталог, где файлы, загруженные по ссылкам для загрузки, ожидают обработки инструментом KB не более часа (по умолчанию /bugasura-mcp-uploads/, отдельный каталог для каждого арендатора). Просроченные файлы удаляются при запуске сервера, затем каждый час и при создании новой ссылки. |
OAUTH_REQUIRE_CONSENT | нет | Если указать true, перед входом в Bugasura будет показана отдельная страница согласия FastMCP (по умолчанию false; см. раздел «О страницах согласия»). |
BUGASURA_WEBSITE_URL | нет | Публичный сайт продукта, ссылка на который размещается в метаданных сервера и на странице, открываемой в браузере по адресу /mcp (по умолчанию https://bugasura.io). |
MCP_SERVER_ICON_URL | нет | PNG-логотип на странице согласия сервера и среди значков, предлагаемых клиентам MCP (по умолчанию https://bugasura.io/bugasura_icon_1024.png). Имя сервера на этой странице задаётся параметром MCP_SERVER_NAME. |
MCP_SERVER_ICON_SVG_URL | нет | SVG-логотип, предлагаемый клиентам MCP вместе с PNG (по умолчанию https://bugasura.io/bugasura_icon_512.svg). |
OPENAI_APPS_CHALLENGE_TOKEN | нет | Токен проверки домена приложения ChatGPT. Он предоставляется в виде обычного текста по адресу /.well-known/openai-apps-challenge. Если параметр не задан, сервер возвращает 404. Указывайте его только для экземпляра, который отправляется на проверку. |
OAUTH_ALLOWED_REDIRECT_URIS | нет | Дополнительные шаблоны адресов перенаправления клиентов MCP, разделённые запятыми. Они расширяют встроенный список (loopback, claude.ai, VS Code / Cline / Roo Code, Cursor, Windsurf, Antigravity, ChatGPT / Codex). Схема, хост и порт проверяются отдельно: хост должен точно совпадать или соответствовать шаблону *.example.com, символ * в пути означает любое значение, а шаблон loopback без порта подходит для любого порта. Шаблон cursor://* не совпадает ни с одним адресом; используйте cursor://anysphere.cursor-mcp/*. |
OAUTH_INTROSPECTION_CACHE_TTL | нет | Время в секундах, в течение которого кэшируется успешная проверка токена (по умолчанию 60). Также определяет максимальное время, в течение которого может действовать отозванный сеанс. |
BUGASURA_OAUTH_*_URL | нет | Переопределяет конечные точки вышестоящего сервера, формируемые по умолчанию ({WEB_BASE_URL}oauth/authorize, {API_BASE}/v1/oauth/{token,introspect,revoke}). |
Запускайте сервер с параметром --forwarded-allow-ips, указав адрес обратного прокси. Сервер проверяет Host и Origin в соответствии со спецификацией MCP, чтобы защититься от DNS rebinding (core/app.py). Разрешены хост и origin, указанные в MCP_PUBLIC_BASE_URL, а также loopback-адреса. Поэтому обратный прокси работает независимо от того, сохраняет ли он заголовок Host. Запрос с посторонним Origin получает ответ 403, а запрос с неизвестным Host — 421. Запросы без заголовка Origin (от CLI и настольных клиентов, а также от connector claude.ai) обрабатываются без изменений. Запросы со страницы браузера с другого origin, например из веб-интерфейса MCP Inspector при обращении к размещённому серверу, отклоняются.
Для клиентов CIMD сервер загружает документ метаданных по https. Доступ к приватным и loopback-адресам заблокирован. Если экземпляр арендатора может подключаться к интернету только через исходящий прокси, задайте FASTMCP_SSRF_TRUST_PROXY=true и HTTPS_PROXY.
Локальное тестирование. Claude Code, Cursor и Inspector могут подключаться к http://localhost:8000: укажите MCP_PUBLIC_BASE_URL=http://localhost:8000 и запустите сервер с параметром --allow-insecure-http. Claude Desktop и claude.ai работают иначе: их connector запускается на серверах Anthropic, поэтому сервер MCP должен быть доступен из публичного интернета по https. Настройте туннель к локальному порту и укажите его URL в качестве публичного адреса:
ngrok http 8000 # note the https://xxxx.ngrok-free.app URL
MCP_PUBLIC_BASE_URL=https://xxxx.ngrok-free.app \
BUGASURA_OAUTH_CLIENT_ID=bugasura-mcp BUGASURA_OAUTH_CLIENT_SECRET=... \
python server.py --transport streamable-http --port 8000 --forwarded-allow-ips '*'
Затем добавьте https://xxxx.ngrok-free.app/mcp как пользовательский connector. API Bugasura должен разрешать callback туннеля (https://xxxx.ngrok-free.app/auth/callback) для указанного client id. При первом открытии туннеля в браузере бесплатная версия ngrok показывает промежуточную страницу «Visit Site»; нажмите её, чтобы продолжить.
О страницах согласия
По умолчанию при первом подключении пользователи видят один экран: страницу входа и согласия Bugasura. У прокси-сервера FastMCP также есть собственная промежуточная страница с названием MCP-клиента и адресом его callback. Она отключена (OAUTH_REQUIRE_CONSENT=false), поэтому весь процесс выглядит так, будто проходит в Bugasura.
Безопасность обеспечивается тем, что MCP-клиенты регистрируются самостоятельно (DCR) или предоставляют собственный документ с метаданными (CIMD). Поэтому сервер проверяет URI перенаправления по списку разрешённых адресов при регистрации, загрузке документа с метаданными и повторно при запросе к /authorize (DEFAULT_ALLOWED_REDIRECT_URIS в config/config.py). Разрешены только loopback-адреса и callback-адреса клиентов, перечисленных выше (Claude Desktop / claude.ai, VS Code, включая Cline и Roo Code, Claude Code, Cursor, Windsurf, Google Antigravity, коннекторы ChatGPT, включая Codex), а также адреса из OAUTH_ALLOWED_REDIRECT_URIS. Если клиент зарегистрирует любой другой callback, сервер вернёт invalid_redirect_uri (отказы при DCR регистрируются в журнале как Rejected client registration; клиенту CIMD с неразрешённым callback будет отказано без записи в журнале. Поэтому, если новый клиент не может войти, сначала проверьте его callback по списку). Без этой проверки злоумышленник мог бы зарегистрировать собственный callback и получить сессию пользователя. Установите OAUTH_REQUIRE_CONSENT=true, чтобы вернуть промежуточную страницу в качестве дополнительного уровня защиты.
3. Обратный прокси
Перенаправляйте весь origin, а не только /mcp. FastMCP размещает в корне следующие адреса: /.well-known/oauth-authorization-server, /.well-known/oauth-protected-resource/mcp, /authorize, /token, /register, /revoke, /auth/callback, /consent, а также /mcp, /health, /sse и /upload/. Токен требуется только для /mcp; непредсказуемый одноразовый идентификатор ссылки на загрузку сам по себе служит учётными данными.
Ссылки на загрузку позволяют отправлять файлы размером до 100 MB за запрос. У пользователя может быть до 20 активных ссылок и до 500 MB загруженных файлов, ожидающих обработки инструментом; общий объём файлов в staging-каталоге может достигать 5 GB (константы UPLOAD_MAX_* в config/config.py). Установите ограничение на размер тела запроса в обратном прокси не ниже 101 MB (LimitRequestBody в Apache, client_max_body_size в nginx), а время ожидания прокси задайте достаточным для загрузки файла размером 100 MB при медленном соединении (например, 300 секунд).
4. Проверьте работу
curl -s https://mcp.bugasura.io/.well-known/oauth-authorization-server | jq '{issuer, client_id_metadata_document_supported, authorization_response_iss_parameter_supported}'
curl -si -X POST https://mcp.bugasura.io/mcp -H 'content-type: application/json' -d '{}' | grep -i www-authenticate # 401 + resource_metadata
curl -s https://mcp.bugasura.io/health # "auth": "oauth"
Затем добавьте URL в Claude Code (claude mcp add --transport http …, /mcp → Authenticate) и убедитесь, что браузер открывает страницу согласия Bugasura, а затем возвращается обратно.
Локальная разработка — примеры конфигураций клиента
Используйте эти конфигурации при разработке сервера, чтобы ваш AI-клиент запускал локальную копию проекта как подпроцесс stdio, а не обращался к размещённой конечной точке /mcp.
Замените
/path/to/bugasura-mcp-server/абсолютным путём к вашей копии репозитория, аyour_api_key_here— вашим API-ключом Bugasura (User Settings → API Key). Только для STDIO по-прежнему требуется ключ, поскольку подпроцесс не может передать управление браузеру. Никогда не добавляйте настоящий ключ в репозиторий.
VS Code (workspace .vscode/settings.json)
{
"settings": {
"mcp": {
"inputs": [],
"servers": {
"bugasura-local-mcp": {
"type": "stdio",
"command": "/path/to/bugasura-mcp-server/.venv/bin/python3",
"args": [
"/path/to/bugasura-mcp-server/server.py"
],
"env": {
"BUGASURA_API_KEY": "your_api_key_here"
}
}
}
}
}
}
Claude Desktop (claude_desktop_config.json)
Путь в macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Путь в Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"bugasura": {
"command": "/path/to/bugasura-mcp-server/.venv/bin/python",
"args": [
"/path/to/bugasura-mcp-server/server.py"
],
"env": {
"BUGASURA_API_KEY": "your_api_key_here"
}
}
}
}
После изменения конфигурации перезапустите клиент, чтобы он загрузил новый сервер (перезагрузите окно VS Code или закройте и снова запустите Claude Desktop). Сервер записывает журналы в stderr. Проверьте журналы MCP-сервера клиента и убедитесь, что при запуске появляется строка Bugasura MCP Server | API: ... | Transport: stdio.
Тестирование и отладка с помощью MCP Inspector
MCP Inspector предоставляет веб-интерфейс для тестирования и отладки MCP-сервера.
Быстрый запуск
- Установите MCP Inspector, если он ещё не установлен:
npm install -g @modelcontextprotocol/inspector
- Запустите Inspector (режим STDIO использует
BUGASURA_API_KEYиз.env):
cd /path/to/bugasura-mcp-server
source .venv/bin/activate
npx @modelcontextprotocol/inspector python server.py
- Откройте браузер — Inspector автоматически откроется по адресу
http://localhost:5173
Чтобы проверить вход через OAuth, запустите сервер в режиме HTTP с параметром MCP_PUBLIC_BASE_URL=http://localhost:8000 и заданными client id и secret, а также с флагом --allow-insecure-http. Затем в Inspector выберите Streamable HTTP, укажите URL http://localhost:8000/mcp и перейдите в Authentication → OAuth 2.0 → Quick OAuth Flow. Сначала вы попадёте на страницу согласия сервера, затем — на страницу входа и согласия Bugasura. После завершения вы вернётесь в Inspector, где отобразятся инструменты.
Возможности
-
✅ Просмотр всех инструментов с их параметрами и документацией
-
✅ Интерактивное тестирование инструментов — вызывайте любой инструмент и просматривайте реальные ответы
-
✅ Отладка рабочих процессов — проверяйте сценарии создания, обновления и удаления
-
✅ Проверка параметров — убедитесь, что используются правильные форматы и типы
-
✅ Тестирование операций по имени — попробуйте удалить задачу по ключу (ISS09), тестовый случай по ключу (TES5) или по имени
-
✅ Проверка поиска команды — используйте имена команд вместо ID при управлении участниками
Примеры тестов
Проверка удаления задачи по ключу:
Tool: bugasura_delete_issue
Parameters: {
"issue_identifier": "ISS09"
}
Примечание: в режиме STDIO переменная
BUGASURA_API_KEYсчитывается из окружения; у инструментов нет параметраapi_key.
Проверка интерактивного выбора спринта:
Tool: bugasura_create_issue
Parameters: {
"summary": "Test issue"
}
// Returns selection prompt for team → project → sprint
Проверка управления участниками команды по имени команды:
Tool: bugasura_add_team_members
Parameters: {
"team_name": "Engineering",
"email_list": "john@example.com, jane@example.com"
}
// Resolves team name and sends invitations
Проверка удаления пользователя с автоматическим поиском:
Tool: bugasura_delete_team_user
Parameters: {
"team_id": 123,
"user_identifier": "john@example.com"
}
// Resolves user by email and removes from team
Подробные инструкции см. в MCP_INSPECTOR_GUIDE.md
Важные примечания
Аутентификация
Размещённый сервер (HTTP) — вход через OAuth 2.0. MCP-клиент получает сведения для входа от сервера, один раз открывает в браузере страницу входа и согласия Bugasura, а затем использует токен, который обновляется автоматически в фоновом режиме (срок действия access token — 1 час, refresh token — 30 дней). Данные для входа не сохраняются в конфигурации клиента, и ассистент не видит учётных данных. Чтобы выйти из клиента, отключите его в самом клиенте.
Локальный STDIO — сервер работает как подпроцесс клиента и не может передать управление браузеру, поэтому считывает BUGASURA_API_KEY из блока env (Bugasura → User Settings → API Key). Если ключ не задан, инструменты возвращают status: 'api_key_required' с инструкциями; ассистент не попросит вставить ключ в чат.
Интерактивный режим
Если не указать team_id или project_id, система автоматически перейдёт в интерактивный режим и предложит выбрать нужные значения. Это работает для следующих операций:
-
Все операции со спринтами
-
Все операции с задачами
-
Все операции с тестовыми случаями
Умный подбор исполнителей
При назначении работы можно использовать:
-
Имена:
"John Doe"(частичное совпадение без учёта регистра) -
Адреса электронной почты:
"john@example.com"(точное совпадение без учёта регистра) -
ID пользователей:
"123"(прямое совпадение) -
Смешанный формат:
"John, jane@example.com, 789"(значения, разделённые запятыми)
Система автоматически сопоставляет имена и адреса электронной почты с ID пользователей.
Гибкое определение команды
Инструменты управления участниками команды поддерживают разные способы указать команду:
-
ID команды:
team_id=123(прямой числовой ID) -
Название команды:
team_name="Acme Corp"(частичное совпадение без учёта регистра)
Для следующих операций можно использовать любой из параметров:
-
bugasura_add_team_members— приглашение пользователей в команду -
bugasura_update_team_member— изменение ролей участников -
bugasura_delete_team_user— удаление участников из команды
Примеры:
add_team_members(team_name="Engineering", email_list="john@example.com")
update_team_member(team_id=123, user_id=456, is_admin=1)
delete_team_user(team_name="Sales", user_identifier="john@example.com")
Примечание: параметр
api_keyможно не указывать, если в окружении заданBUGASURA_API_KEY.
Требования к данным
Спринты:
-
Название спринта должно содержать от 5 до 250 символов
-
Задачи должны быть назначены на спринт
-
Чтобы обновить задачу, она должна быть назначена на спринт
Требования:
-
Требования должны быть организованы по папкам
-
Для всех операций с требованиями необходим ID папки
-
Требования могут иметь иерархию «родительский элемент — дочерний элемент» (не более 2 уровней: у родительского элемента не может быть собственного родителя)
Примеры диалогов
Начало работы
"What teams and projects do I have access to?"
→ Returns all your teams and projects
"Find my authentication project"
→ Searches across all teams and returns matches
Управление тестированием
"Create a test case for password reset with severity HIGH and priority P1"
→ Guides you through team/project selection, then creates test case
"List all test cases in my mobile app project"
→ Returns paginated test case list
"Update test case 456 to mark it as PASS and assign to john@example.com"
→ Updates test case and resolves email to user ID
Отслеживание ошибок
"Show me all critical bugs in sprint 5"
→ Lists critical severity issues filtered by sprint
"Create a bug: Login button crashes on iOS 17"
→ Guides through team/project/sprint selection, creates issue
"Assign issue 789 to Jane and mark it as In Progress"
→ Updates assignee and status
Комментарии к задачам
"List all comments on issue 123"
→ Returns all comments with user details and timestamps
"Show me the next 10 comments starting from comment 11"
→ Uses pagination (start_at=10, max_results=10)
"List only user comments, exclude system-generated ones"
→ Uses get_user_comments_only=True to filter out system comments
"Add a comment 'Fixed in version 2.1.0' to issue 456"
→ Guides through team/project/issue selection, creates public comment
"Add a private comment about internal notes to issue 789"
→ Creates comment with is_public_comment=0
"Update comment 321 to fix a typo"
→ Guides through interactive selection if comment details not provided
"Delete comment 456"
→ Shows deletion warning, removes comment permanently
Планирование спринтов
"Create a 2-week sprint called 'Sprint 16' starting next Monday"
→ Guides through project selection, creates sprint with dates
"Show me sprint statistics for sprint 5"
→ Returns issue counts, completion rates, etc.
"Mark sprint 12 as COMPLETED"
→ Updates sprint status
Управление требованиями
"Create a requirement titled 'User Authentication' with details 'Implement OAuth 2.0' and priority P1"
→ Guides through team/project selection, prompts for folder selection, creates requirement
"List all requirements in my mobile app project"
→ Returns all requirements with their hierarchy and test case counts
"Link test cases 123 and 456 to requirement 2036"
→ Creates traceability between requirements and test cases
"Update requirement 2036 to change severity to HIGH and assign to john@example.com"
→ Updates requirement fields while preserving all other data
Генерация спринта в TestPert
"Create a TestPert sprint called 'Checkout Flow Sprint'"
→ Confirms options (testing type, depth, skip enrich), then creates the sprint
"Upload /docs/checkout-spec.pdf and /docs/api-contract.md to the knowledge base"
→ Uploads both files, moves sprint to KNOWLEDGE_BASE stage
"Start the analysis"
→ Kicks off requirement analysis, then automatically shows the AI's contextual questions
"Answer: Q1: Users must be able to pay by card or wallet. Q2: Guest checkout is required."
→ Saves answers and advances to the missing requirements stage
"Approve all missing requirements and proceed"
→ Approves rows, advances through risks to the test plan
"Set Authentication focus to EXHAUSTIVE and Performance to MINIMAL"
→ Edits focus-area levels in the test plan
"Generate the test cases"
→ Runs enrichment + coverage + test case generation; returns sprint link when done
"Create a TestPert sprint with skip enrich, link requirements 101 and 102, then build the test plan"
→ Creates sprint (skip_enrich=true), links requirements, starts test plan generation
Управление участниками команды
"Add john@example.com and jane@example.com to the Engineering team"
→ Resolves team by name, sends email invitations to new members
"List all members of team Acme Corp"
→ Returns team members with names, emails, user IDs, and roles
"Promote user 456 to admin in the Marketing team"
→ Updates team member role from member to admin
"Remove john@example.com from the Sales team"
→ Resolves user by email, removes from team and unassigns all their issues
"Make Sarah an admin in team 123"
→ Resolves user by name, promotes to admin role
Политика конфиденциальности
Сервер передаёт ваши запросы в API Bugasura от имени вашей учётной записи. Он хранит OAuth-токены вашей сессии в зашифрованном виде, несколько минут кэширует в памяти список ваших команд и проектов и записывает рабочие журналы. Собственной базы данных у сервера нет. Сбор, использование, хранение, передача и сроки хранения данных регулируются Политикой конфиденциальности Bugasura и Условиями использования. Вопросы можно направлять по адресу support@bugasura.io.
Поддержка
-
🌐 Веб-сайт
Лицензия
MIT