REST、GraphQL、GitHub App、Webhook、OAuthのクライアントを1つにまとめた、ブラウザー、Node.js、Deno向けのGitHub SDK。
google/go-github
repos、orgs、issuesなどの型付きサービスを備えた、GitHub v3 REST API用のGoクライアントライブラリ。
- スター
- 11,340
- フォーク
- 2,567
- 未解決の Issue
- 29
- 最終コミット
- 11 時間前
これは何?
go-githubは、GitHub REST API v3用のGoクライアントライブラリです。ライブラリでクライアントを作成し、Repositories、Organizations、Pull Requestsなど、GitHub APIのドキュメント構成に沿ったサービスグループを通じて利用します。リクエストとレスポンスはGoのstructで表現されるため、生のJSONではなく型付きデータを扱えます。
APIを直接呼び出す際によく必要となる機能も備えています。トークンベースの認証、プライマリおよびセカンダリのレート制限エラーを判定するヘルパー、ページ番号または文字列カーソルによるページネーション、Goのiterパッケージを使ったイテレータメソッドを利用できます。また、GitHub webhookのペイロードを解析するためのstructと検証ヘルパーも提供します。
このプロジェクトは、最新のGoメジャーリリース2つを対象としており、バージョン付きのimport pathを使うGo moduleとして保守されています。条件付きリクエストのキャッシュはキャッシュ対応のHTTP transportに委ねられており、プロジェクトではクライアントと組み合わせて使うことを推奨しています。
主な機能
- 01GitHub REST APIのリクエストとレスポンスを表す、型付きのGo struct。
- 02GitHub APIのドキュメント構成に沿って整理された、サービスベースのクライアント。
- 03トークン認証とGitHub App認証の選択肢。
- 04プライマリおよびセカンダリのレート制限エラーを判定するヘルパー。
- 05ページ番号とカーソルを使ったイテレータによるページネーション。
- 06GitHub webhookイベントの解析に使えるstructとバリデーター。
ユースケース
- リポジトリ、issue、pull requestの参照や更新を行うGo製botやCIツールの開発。
- Goでwebhookイベントを処理するGitHub Appバックエンドの実装。
- メンバー一覧の取得やチーム管理など、組織管理タスクの自動化。
- モックライブラリを使った、GitHub APIの動作に対するテストの作成。
クイックスタート
- 1
ライブラリをGoモジュールにインストールします
go get github.com/google/go-github/v93 - 2
Goコードにパッケージをインポートします
- 3
クライアントを作成し、APIサービスを呼び出します
使う前に知っておきたいこと
- 最近のGoツールチェーンが必要です。最低要件はGoのN-1メジャーリリースです。
- ほとんどのエンドポイントではアクセストークンが必要なため、多くのAPIを呼び出す前に認証を設定する必要があります。
トピック
よくある質問
- go-github とは?
- repos、orgs、issuesなどの型付きサービスを備えた、GitHub v3 REST API用のGoクライアントライブラリ。 go-githubは、GitHub REST API v3用のGoクライアントライブラリです。ライブラリでクライアントを作成し、Repositories、Organizations、Pull Requestsなど、GitHub APIのドキュメント構成に沿ったサービスグループを通じて利用します。リクエストとレスポンスはGoのstructで表現されるため、生のJSONではなく型付きデータを扱えます。
- go-github は無料で使えますか?ライセンスは?
- go-github は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- go-github は今もメンテナンスされていますか?
- 活発にメンテナンス中。go-github の最終コミットは 2026年11月6日 です。
- go-github は何に使えますか?
- リポジトリ、issue、pull requestの参照や更新を行うGo製botやCIツールの開発。 Goでwebhookイベントを処理するGitHub Appバックエンドの実装。 メンバー一覧の取得やチーム管理など、組織管理タスクの自動化。 モックライブラリを使った、GitHub APIの動作に対するテストの作成。
- go-github のインストール方法は?
- ライブラリをGoモジュールにインストールします: go get github.com/google/go-github/v93 Goコードにパッケージをインポートします クライアントを作成し、APIサービスを呼び出します
- go-github はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/google/go-github
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
AIアシスタントがリポジトリの閲覧、IssueやPull Requestの管理、GitHub Actionsとの連携を行えるGitHub公式MCPサーバー。
Goの構造体をデータベースのテーブルに対応付け、関連付け、フック、トランザクション、マイグレーションに対応する多機能ORMです。
Stripe、Paddle、Braintree、Lemon Squeezyに対応し、顧客、サブスクリプション、決済、支払い方法を追加できるRuby on Rails向け決済エンジンです。
GitHubリポジトリ向けに、統計情報やロゴ、フォント、背景パターンを使った共有用プレビュー画像を生成します。
ターミナルでカスタマイズ可能なダッシュボードやインタラクティブなウィジェットを構築する、クロスプラットフォーム対応のGoライブラリです。