Ответ
Качественный баг-репорт для backend должен содержать максимум контекста для быстрого воспроизведения и анализа проблемы.
Обязательные и рекомендуемые артефакты:
- Точные шаги для воспроизведения: Последовательность действий, ведущих к ошибке.
- HTTP-запрос и ответ в сыром виде:
- Метод, URL, заголовки, тело запроса.
- Полный ответ сервера: статус-код, заголовки, тело (особенно текст ошибки).
- cURL-команда для воспроизведения:
curl -X POST 'https://api.example.com/v1/orders' -H 'Authorization: Bearer tok_abc123' -H 'Content-Type: application/json' -d '{"product_id": 999, "quantity": 0}' # Пример с проблемным значением - Логи приложения: Выдержки из логов сервера с таймстемпами, соответствующими моменту ошибки. Укажите уровень лога (ERROR, WARN).
- Идентификаторы: ID пользователя, сессии, запроса (
X-Request-ID), ID сущности, с которой возникла проблема. - Стек-трейс (stack trace): Если ошибка выброшена на уровне приложения, полный стек-трейс критически важен.
- Контекст окружения: Версия API, версия сервиса, stage (dev/staging/prod), дата и время инцидента.
Дополнительно (если применимо и безопасно):
- Скриншот из инструмента тестирования (Postman, Swagger UI) с выделенными проблемными местами.
- Состояние связанных данных (например, SQL-запрос, показывающий проблемную запись в БД, с соблюдением безопасности и анонимизацией).
ВАЖНО: Все прикладываемые данные должны быть обезличены — удалены реальные персональные данные, пароли, токены доступа, ключи API.