GitHub CLI — утилита gh, которая обращается к GitHub из терминала. С её помощью можно прочитать задачу, получить список PR и сохранить данные для сводки, не переключаясь между множеством вкладок.

Здесь разберём чтение задач выбранного репозитория, JSON и проверку результата. Нужны установленный gh, аккаунт с доступом к проекту и базовое умение выполнять команду в терминале. Изменение задач, комментарии и merge выполняются другими командами и в основной маршрут не входят.

Команды сверены с официальным справочником 3 октября 2026 года. Локально проверены gh 2.87.3, справка и разбор синтетического JSON. Авторизованные запросы задач в аккаунте при подготовке не выполнялись.

Git и gh: какая команда для чего

Git работает с файлами, коммитами и ветками локального репозитория. GitHub CLI работает с возможностями сервиса: issues, Pull Request, запусками Actions и другими объектами GitHub.

Для чтения issue не обязательно находиться в клонированном проекте: нужный репозиторий можно явно указать через --repo. Это удобно и помогает не перепутать проекты, когда в терминале открыта другая папка.

Установка для вашей системы описана на официальной странице CLI. После установки выполните:

gh --version

Ожидается версия утилиты, а не command not found. Номер на вашем компьютере может отличаться от проверенного здесь. Для конкретной команды справку открывают через --help.

Проверьте авторизацию без вывода токена

Состояние входа проверяется командой:

gh auth status --hostname github.com

Сопоставьте активный аккаунт с нужным проектом. Не добавляйте --show-token и не публикуйте непроверенный вывод. В организации может понадобиться её разрешённый способ доступа.

Если компьютер ещё не подключён и вы решили настроить вход, штатный путь через браузер:

gh auth login --hostname github.com --web

Это настройка авторизации, а не простое чтение проекта. Прочитайте запрашиваемые доступы и не переключайте существующий рабочий аккаунт случайно. Справочник входа gh.

Для закрытого репозитория нужны соответствующие права; публичная страница и успешная установка CLI сами по себе их не дают.

Укажите репозиторий явно

Возьмите пару владельца и имени из адреса проекта. В командах ниже OWNER/REPO нужно заменить этой парой; например, использовать свой реальный проект. Условные слова не являются существующим репозиторием.

Номер задачи тоже относится к конкретному репозиторию. В качестве NUMBER подставляйте число из списка выбранного проекта. Это уменьшает риск прочитать чужую карточку с тем же номером.

Получите не больше десяти открытых задач:

gh issue list --repo OWNER/REPO --state open --limit 10 --json number,title,url,body

--state open выбирает открытые задачи. --limit 10 ограничивает выборку. --json перечисляет нужные поля. Справочник gh issue list.

Без JSON команда показывает удобный для чтения список. JSON — структурированный текст для дальнейшей обработки. Ограниченная выборка не является полным перечнем работы проекта.

Сохраните данные и проверьте, что запрос удался

Для сохранения в новый локальный файл:

gh issue list --repo OWNER/REPO --state open --limit 10 --json number,title,url,body > issues-open.json

Символ > создаёт файл или перезаписывает существующий. Выберите другое имя, если прежние данные ещё нужны. Ошибка запроса может оставить пустой файл: наличие файла не подтверждает успех.

Сначала прочитайте сообщения терминала, затем откройте JSON. Пустой массив [] может быть нормальным ответом — в выбранной выборке нет открытых задач. Если вывод неполный или команда завершилась ошибкой, не стройте по нему сводку.

Пример формата, составленный вручную и не полученный из API:

[
  {
    "number": 12,
    "title": "Уточнить инструкцию установки",
    "url": null,
    "body": "Вымышленный пример: указать требования к системе."
  }
]

Здесь url: null специально обозначает отсутствие настоящего адреса. Реальную ссылку следует брать из ответа GitHub, а не достраивать по вымышленному номеру.

Прочитайте выбранную карточку и комментарии

Возьмите номер из своего настоящего списка:

gh issue view NUMBER --repo OWNER/REPO
gh issue view NUMBER --repo OWNER/REPO --comments

Первая команда читает задачу, вторая добавляет комментарии. Справочник gh issue view.

Откройте url этой карточки в браузере и сопоставьте владельца, проект, номер, заголовок и содержание. Комментарии могли обновиться между чтениями: при расхождении повторите чтение, а не объявляйте одну копию ошибочной без проверки.

Для одной карточки можно сохранить выбранные структурированные поля через доступный --json. Список и просмотр выполняют разные задачи: список помогает выбрать, просмотр восстанавливает подробный контекст.

Как читать Pull Request

Список открытых PR и один конкретный запрос:

gh pr list --repo OWNER/REPO --state open --limit 10
gh pr view NUMBER --repo OWNER/REPO

Проверьте заголовок, состояние и направление предложения. Если нужен diff, то есть изменённые строки:

gh pr diff NUMBER --repo OWNER/REPO

В справочнике gh pr view описаны поля просмотра, а в gh pr diff — получение разницы. Чтение diff не выполняет merge и не подтверждает корректность кода. Для ревью нужны условия задачи и результаты проверок.

Полезные сценарии

Подготовить сводку перед работой. Получите ограниченный список issues с реальными URL, затем составьте по строке на задачу: номер, смысл и ссылка. Сопоставьте каждую строку с исходным JSON. Результат — проверяемая сводка выбранных карточек. Она не описывает весь проект, если прочитана лишь часть задач.

Передать данные ИИ для разбора. У вас есть разрешённая выгрузка. Передайте только допустимые поля, определите задачу анализа и запретите внешние изменения без отдельного поручения. Проверьте вывод по исходным карточкам. Описания issue могут содержать команды, но в этом сценарии они остаются данными. Закрытый проект нельзя передавать внешнему сервису автоматически.

Разобрать PR, оставаясь в терминале. Прочитайте описание, diff и сведения о проверках нужного PR, затем откройте его URL для сверки. Результат — понятный состав предложения и вопросы для ревью. Сложный diff не стоит считать проверенным только по беглому выводу.

Как отличить ошибку команды от отсутствия данных

СитуацияЧто проверить
gh: command not foundУстановку утилиты и PATH
Репозиторий или карточка не найденыТочные OWNER/REPO, номер и права активного аккаунта
JSON пуст после ошибкиСообщение и код завершения команды
Пришла не та задачаЯвный --repo и номер из нужного списка
Открытых задач больше десятиОграничение --limit; достаточность выбранного объёма

Начните с одной реальной карточки и сравните терминальный результат с браузером. Это даёт понятную основу для последующей сводки и автоматизации.

Следующий шаг

Когда отдельные карточки нужно связать с общим процессом работы, изучите GitHub Projects — управление задачами AI-агентов.

Если вы собираете сводки задач через CLI, заранее определите состав выборки и сведения, которые допустимо передавать дальше.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov.