GitHub CLI 2.99 прикладывает скриншоты и видео к issue из терминала
Флаг --attach работает в gh issue и gh pr, поддерживает PNG, GIF, WebP, SVG, MP4, MOV и WebM.

GitHub 1 сентября объявил, что в GitHub CLI появился флаг --attach: он загружает локальные изображения и видео в issue, pull request или комментарий. Раньше терминальный клиент умел работать только с текстом, а скриншот или запись экрана приходилось тащить через браузер. Функция доступна всем пользователям GitHub на всех тарифах после обновления до версии 2.99.0.
Для тех, кто пишет багрепорты из скриптов, собирает отчёты в CI или просто не хочет переключаться в браузер ради одной картинки, это закрывает давний разрыв между «вот команда, которая падает» и «вот как это выглядит». Единственное серьёзное исключение: GitHub Enterprise Server в этом релизе не поддерживается.
Ключевые выводы
- Флаг --attach работает в gh issue create, edit, comment и в gh pr create, edit, comment; его можно повторять несколько раз.
- Форматы: PNG, JPEG, GIF, WebP, SVG для картинок и MP4, MOV, WebM для видео.
- Лимит на изображение и GIF 10 МБ; видео до 10 МБ на бесплатном плане и до 100 МБ на платных.
- Нужен OAuth-токен от gh auth login или classic personal access token и право записи в репозиторий.
- GitHub Enterprise Server не поддерживается; нужна версия gh 2.99.0.
Как это выглядит в командной строке
Минимальный пример из changelog: приложить скриншот к комментарию в issue.
Флаг повторяемый, поэтому к одному issue можно приложить сразу несколько файлов, указав --attach для каждого. Alt-текст задаётся после пути через решётку: --attach './login.png#The login error state'. Это тот же alt, который потом увидят читатели со скринридером, так что писать его стоит осмысленно.
Самая полезная деталь спрятана в обработке Markdown. Если в тексте issue или комментария уже стоит локальная ссылка вида , CLI перепишет её на адрес загруженного файла. Вложения, на которые в тексте ссылок нет, добавляются в конец Markdown. Значит, можно писать описание бага в редакторе с относительными путями к картинкам, а потом одной командой отправить и текст, и файлы.
Ограничения, о которых стоит знать заранее
Для загрузки нужен либо OAuth-токен, полученный через gh auth login, либо classic personal access token; другие типы токенов в changelog не упомянуты, и это стоит учитывать в CI. Кроме того, требуется право записи в репозиторий: приложить файл к чужому issue в проекте, где вы не участник, не получится, даже если оставлять комментарии там можно.
Лимиты размеров: 10 МБ для изображений и GIF, для видео 10 МБ на Free и 100 МБ на платных планах. GitHub Enterprise Server новую возможность не получил; сроки для самостоятельно развёрнутых инсталляций в публикации не названы.
Что ещё не сказано: как ведёт себя команда при превышении лимита, поддерживает ли она загрузку по URL вместо локального файла и когда флаг доберётся до gh release. Судя по тексту changelog, речь только об issue, pull request и комментариях.
Где это пригодится
- Тестовые пайплайны: упавший end-to-end тест прикладывает скриншот или запись браузера к автоматически созданному issue.
- Ревью интерфейсов: gh pr comment --attach с записью экрана вместо описания «нажмите сюда, потом сюда».
- Скрипты отчётов: график из matplotlib или диаграмма сборки уходит в комментарий к pull request без промежуточного хостинга.
Обновиться можно штатным способом: через менеджер пакетов, которым gh ставился, или скачав релиз 2.99.0 с GitHub.
Редакция проверит, появится ли поддержка Enterprise Server в следующих релизах gh.
Источник: Changelog GitHub: GitHub CLI media in issues, pull requests, and comments
Изображение на обложке: GitHub












