Домой Новости Софт и сервисы GitHub CLI 2.93.0 и GCLI 2.12.0

GitHub CLI 2.93.0 и GCLI 2.12.0

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

Консольная утилита GitHub CLI в терминале
Обновление популярной утилиты для работы с репозиториями Источник: linux.org.ru

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

Инструмент написан на языке программирования Go и распространяется под свободной лицензией MIT.

Основные изменения

  • Безопасность

    • Разработчики обнаружили и оперативно устранили уязвимость безопасности. В предыдущих сборках при отправке API-запросов к зеркалам репозитория TUF с помощью команд gh attestation, gh release verify и gh release verify-asset некорректно передавался заголовок авторизации. Пользователям рекомендуется как можно скорее обновить утилиту GitHub CLI до версии 2.93.0.
  • Добавлена поддержка ИИ-агентов в наборе команд gh secret. Подробнее об этом можно узнать в официальной документации: «Configuring secrets and variables for Copilot cloud agent».

  • Мчисленные прочие улучшения стабильности и исправления мелких ошибок.

А 30 мая увидел свет релиз другой полезной утилиты — GCLI версии 2.12.0. Этот инструмент поддерживает программные интерфейсы сразу нескольких популярных хостингов Git-проектов и позволяет создавать задачи, просматривать запросы на слияние, управлять метками и комментариями, а также проверять состояние CI-пайплайнов.

В отличие от GitHub CLI, универсальный клиент GCLI работает не только с экосистемой GitHub, но также поддерживает сервисы Codeberg, Forgejo, Gitea, GitLab и систему отслеживания багов Bugzilla.

Утилита написана на языке C и распространяется по лицензии BSD-2.

Изменения в GCLI 2.12.0

  • Исправлен неприятный сбой действия milestone в подкоманде issues для GitLab. Ранее gcli формировал URL-адрес запроса к API GitLab с ошибкой, что приводило к появлению запутанных сообщений об отказах.

  • Подкоманды теперь поддерживают необязательный позиционный аргумент вида forge:owner/repo. Например:

    gcli issues gh:curl/curl
    gcli pulls gl:gitlab-org/gitlab
    gcli pipelines cb:forgejo/forgejo

    В системе уже встроены удобные префиксы: gh: (GitHub), gl: (GitLab) и cb: (Codeberg). Именованные секции аккаунтов в конфигурационном файле программы также умеют работать с префиксами. Пример настройки:

    freebsd-bz {
        apibase=https://bugs.freebsd.org/bugzilla
        forge-type=bugzilla
    }
    
    work-gl {
        apibase=https://gitlab.example.com
        forge-type=gitlab
    }

    Примеры использования:

    $ gcli issues freebsd-bz:"Base System/tests"
    $ gcli pulls work-gl:acme-corp/frontend

    Примечание: при работе с Bugzilla вместо стандартной пары owner/repo необходимо указывать путь формата product/component.

    Позиционные аргументы теперь полноценно поддерживаются всеми подкомандами для работы с репозиториями: issues, pulls, pipelines, ci, releases, forks, labels, milestones и comment. Привычные классические флаги -t, -o и -r по-прежнему доступны.

  • Подкоманда pipelines получила поддержку GitHub Actions. Кроме того, для пайплайнов добавили полезное действие monitor, которое позволяет в режиме реального времени отслеживать выполнение проверок непрерывной интеграции. Для корректной работы этой функции необходим эмулятор терминала с полной поддержкой протокола Xterm.

  • Устаревшая подкоманда ci была окончательно удалена за ненадобностью, поскольку она толком не документировалась и не поддерживалась разработчиками.

Источник: https://www.linux.org.ru