Issue
Коротко
Запись в трекере проекта о найденной ошибке, задаче, предложении или вопросе; у неё есть номер, обсуждение, исполнитель и статус «открыта» или «закрыта».
Что такое «Issue»
Слово пришло из GitHub и GitLab, где трекер встроен прямо в репозиторий и называется Issues. В Jira, Redmine или YouTrack то же самое называют задачей или тикетом. Смысл один: любое «надо сделать» или «что-то сломалось» записывают в одно место, а не держат в переписке, где оно потеряется через неделю.
У issue есть номер (#42), по которому на неё ссылаются из коммитов, комментариев и запросов на слияние. Метки (bug, enhancement, question) помогают сортировать поток, исполнитель показывает, кто взялся за работу, а этап (milestone) — к какому выпуску её нужно закончить.
Как написать полезную issue
Хорошее описание бага позволяет воспроизвести проблему без уточняющих вопросов:
Не отправляется форма «Обратный звонок» на мобильном
Шаги: открыть /contacts/ в Safari на iPhone, заполнить поля, нажать «Отправить».
Ожидание: сообщение «Спасибо, перезвоним».
Факт: кнопка неактивна, в консоли ошибка reCAPTCHA.
Окружение: iOS 17, WordPress 6.6, Contact Form 7.
Для повторяющихся типов обращений в репозитории заводят шаблоны в папке .github/ISSUE_TEMPLATE — тогда форма сама подсказывает автору, что указать.
Связь с кодом
Если в описании pull request или в сообщении коммита написать Fixes #42 или Closes #42, GitHub закроет задачу автоматически, когда изменения попадут в основную ветку. GitLab понимает похожие ключевые слова. Так из любой строки истории можно дойти до обсуждения, в котором решали, зачем она нужна.
Issue в поддержке сайта
Тот же подход работает и вне открытых проектов. Когда владелец сайта присылает правки списком в мессенджер, часть теряется. Отдельная запись на каждую проблему со скриншотом и адресом страницы делает поддержку сайта прозрачной: видно, что открыто, что в работе и что уже выложено на сайт.

