{"meta":{"title":"Оформлять вопросы, не нарушая свой поток","intro":"Если что-то привлекает ваше внимание во время выполнения задачи, используйте Copilot CLI, чтобы подать GitHub проблему с контекстом кода, связанными PR-файлами и метками, а затем возвращайтесь к своей работе.","product":"GitHub Copilot","breadcrumbs":[{"href":"/ru/copilot","title":"GitHub Copilot"},{"href":"/ru/copilot/tutorials","title":"Учебники"},{"href":"/ru/copilot/tutorials/copilot-cookbook","title":"Кулинарная книга GitHub Copilot"},{"href":"/ru/copilot/tutorials/copilot-cookbook/document-code","title":"Код документа"},{"href":"/ru/copilot/tutorials/copilot-cookbook/document-code/filing-issues-without-breaking-your-flow","title":"Проблемы с файлами без разрыва потока"}],"documentType":"article"},"body":"# Оформлять вопросы, не нарушая свой поток\n\nЕсли что-то привлекает ваше внимание во время выполнения задачи, используйте Copilot CLI, чтобы подать GitHub проблему с контекстом кода, связанными PR-файлами и метками, а затем возвращайтесь к своей работе.\n\nCopilot CLI может открыть GitHub проблемы с терминала. Вместо того чтобы переключаться в браузер и вручную заполнять задачу, вы описываете, что вам нужно, и Copilot собирает контекст из вашего репозитория и GitHub, а затем создаёт проблему, чтобы вы могли продолжать работать.\n\n## Пример сценария 1: Подача проблемы из-за отказа CI\n\nВаш CI не работает или вы заметили ошибки в производственных журналах. Вместо того чтобы вручную отслеживать стек до коммита, вы просите Copilot CLI расследовать и зарегистрировать проблему за вас.\n\n### Пример запроса\n\n```text copy\nThe CI workflow on main has been failing since yesterday. Look at the failing \nrun, figure out what's breaking and which commit likely introduced it, then \ncreate an issue with the stack trace, a link to the failing run, and the \nsuspected PR that caused it. Label it \"bug\" and \"regression\".\n```\n\n### Пример ответа\n\n> \\[!NOTE] Следующий ответ является примером. Ответы Copilot Chat являются недетерминированными, поэтому вы можете получить другой ответ, показанный здесь.\n\nCopilot CLI использует свои GitHub инструменты MCP для:\n\n1. **Получите неудачный рабочий процесс, запустите** и извлечьте трассировку стека из логов.\n2. **Определите ответственный код** — например, `src/services/payment.ts:94`.\n3. **Найдите недавние коммиты** , касающиеся этого файла, и найдите PR, который внёс изменение.\n4. **Создайте проблему** со всем собранным контекстом:\n\n   ```text\n   Created issue #421: Regression: PaymentService throws TypeError after #398\n\n   What's failing:\n   The `build` job on main has failed since commit `a3f7c21`. Stack trace:\n\n   TypeError: Cannot read properties of undefined (reading 'amount') at processRefund (src/services/payment.ts:94:22)\n\n   Introduced by: PR #398 (merged 2 days ago) refactored the payment types but missed updating `processRefund` to handle the new nullable `transaction` field.\n\n   Failing run: Actions run #2847\n\n   Suggested fix: Add a null check for `transaction` before accessing `transaction.amount` on line 94.\n\n   Labels: `bug`, `regression`\n   ```\n\n## Пример сценария 2: Преобразование TODO в отслеживаемую работу\n\nСо временем комментарии TODO и FIXME накапливаются в кодовой базе без видимости. Вы можете попросить Copilot CLI отсканировать эти комментарии, оценить приоритет и создать проблемы, чтобы работа отслеживалась.\n\n### Пример запроса\n\n```text copy\nScan this repo for TODO and FIXME comments. Group them by area, pick the 5 \nmost important ones based on the surrounding code context, and create an issue \nfor each. Include the code snippet, file location, and suggest a label.\n```\n\n### Пример ответа\n\n> \\[!NOTE] Следующий ответ является примером. Ответы Copilot Chat являются недетерминированными, поэтому вы можете получить другой ответ, показанный здесь.\n\nCopilot CLI Ищет по коду, читает контекст каждого комментария и расставляет приоритеты по степени серьёзности:\n\n```text\nFound 23 TODO/FIXME comments across the repo. Here are the 5 I'd prioritize:\n\nCreated issue #422: FIXME: SQL injection risk in search query builder\n- src/db/search.ts:34 — user input concatenated directly into query string\n- Label: security, priority:high\n\nCreated issue #423: TODO: Rate limiter bypassed for internal routes\n- src/middleware/rate_limit.ts:12 — comment says \"temporary bypass, remove before launch\"\n- Label: security, technical-debt\n\nCreated issue #424: FIXME: Memory leak in WebSocket handler\n- src/ws/handler.ts:87 — listeners are added on each connection but never cleaned up\n- Label: bug, performance\n\nCreated issue #425: TODO: Retry logic missing for payment webhook\n- src/webhooks/payment.ts:56 — failures silently dropped, no retry queue\n- Label: reliability, priority:medium\n\nCreated issue #426: TODO: Migrate to new auth token format\n- src/auth/token.ts:3 — comment references a closing down API version\n- Label: technical-debt\n```\n\n## Дополнительные материалы\n\n* [GitHub Copilot CLI](/ru/copilot/how-tos/copilot-cli)"}