Repolode
google

google/go-github

Клиентская библиотека на Go для GitHub REST API v3 с типизированными сервисами для репозиториев, организаций, задач и других ресурсов.

Звёзды
11,340
Форки
2,567
Открытые issues
29
Последний коммит
24 часа назад

Что это?

go-github — клиентская библиотека на Go для GitHub REST API v3. С её помощью создают клиент, а затем обращаются к API через группы сервисов, повторяющие структуру документации GitHub API: например, Repositories, Organizations и Pull Requests. Запросы и ответы представлены структурами Go, поэтому вместо сырого JSON вызывающий код работает с типизированными данными.

Библиотека берет на себя типичные задачи, возникающие при прямых обращениях к API. В ней есть аутентификация по токену, вспомогательные функции для обнаружения ошибок первичного и вторичного ограничений частоты запросов, пагинация по номерам страниц или строковым курсорам, а также методы-итераторы на основе пакета iter в Go. Кроме того, библиотека предоставляет структуры и функции валидации для разбора payload вебхуков GitHub.

Проект рассчитан на две последние мажорные версии Go и поддерживается как Go-модуль с версионированными путями импорта. Кэширование условных запросов возложено на кэширующий HTTP-транспорт, использовать который вместе с клиентом рекомендуют авторы проекта.

Ключевые возможности

  • 01Типизированные структуры Go для запросов и ответов GitHub REST API.
  • 02Клиент с сервисами, организованными по структуре документации GitHub API.
  • 03Аутентификация по токену и через GitHub App.
  • 04Вспомогательные функции для обнаружения ошибок первичного и вторичного ограничений частоты запросов.
  • 05Пагинация с итераторами по номерам страниц и курсорам.
  • 06Структуры и валидаторы для разбора событий вебхуков GitHub.

Сценарии использования

  • Создание ботов на Go или инструментов для CI, которые читают или обновляют репозитории, задачи и pull request.
  • Разработка бэкендов GitHub App на Go для обработки событий вебхуков.
  • Автоматизация административных задач в организациях, например получение списка участников или управление командами.
  • Написание тестов поведения GitHub API с помощью mock-библиотеки.

Быстрый старт

  1. 1

    Установите библиотеку в модуль Go

    go get github.com/google/go-github/v93
  2. 2

    Импортируйте пакет в код Go

  3. 3

    Создайте клиент и вызывайте сервисы API

Что важно знать

  • Требуется актуальная цепочка инструментов Go; минимальное требование — мажорный релиз Go версии N-1.
  • Для большинства эндпоинтов нужен токен доступа, поэтому перед многочисленными вызовами необходимо настроить аутентификацию.

Темы

Частые вопросы

Что такое go-github?
Клиентская библиотека на Go для GitHub REST API v3 с типизированными сервисами для репозиториев, организаций, задач и других ресурсов. go-github — клиентская библиотека на Go для GitHub REST API v3. С её помощью создают клиент, а затем обращаются к API через группы сервисов, повторяющие структуру документации GitHub API: например, Repositories, Organizations и Pull Requests. Запросы и ответы представлены структурами Go, поэтому вместо сырого JSON вызывающий код работает с типизированными данными.
go-github можно использовать бесплатно? Какая у него лицензия?
go-github распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
go-github всё ещё поддерживается?
Активно поддерживается. Последний коммит в go-github — 6 нояб. 2026 г..
Для чего можно использовать go-github?
Создание ботов на Go или инструментов для CI, которые читают или обновляют репозитории, задачи и pull request. Разработка бэкендов GitHub App на Go для обработки событий вебхуков. Автоматизация административных задач в организациях, например получение списка участников или управление командами. Написание тестов поведения GitHub API с помощью mock-библиотеки.
Как установить go-github?
Установите библиотеку в модуль Go: go get github.com/google/go-github/v93 Импортируйте пакет в код Go Создайте клиент и вызывайте сервисы API
Где скачать go-github?
Исходный код и инструкции по установке — на GitHub: https://github.com/google/go-github

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Платёжный движок для Ruby on Rails, добавляющий поддержку клиентов, подписок, платежей и способов оплаты через Stripe, Paddle, Braintree и Lemon Squeezy.

2,3 тыс.359RubyMITАктивно поддерживаетсяОбновлён 5 дней назад

Создаёт изображения для соцсетей и превью GitHub-репозиториев с актуальной статистикой, логотипами, шрифтами и фоновыми узорами.

2,2 тыс.123TypeScriptMITОбновлён 10 дней назад

Кроссплатформенная библиотека на Go для создания настраиваемых терминальных дашбордов с изменяемым размером и интерактивными виджетами.

3 тыс.150GoApache-2.0Обновлён 2 месяца назад