# REST API のライブラリ

公式の Octokit ライブラリやその他のサード パーティ製ライブラリを使用して、GitHub API の使用方法を拡張および簡略化できます。

## ライブラリについて

ライブラリを使用すると、アプリケーションが GitHub の API と対話する方法を拡張および簡略化できます。 各ライブラリには、特定のプログラミング言語用の事前構築済みコードが用意されています。 ライブラリをプロジェクトに統合した後、事前に構築されたコード モジュールを使用して、特定のプログラミング言語を介して GitHub の API と対話できます。

GitHub は、一部の言語用の公式 Octokit ライブラリを保守します。 GitHub の API で使用できるサード パーティ製のライブラリもあります。こうしたライブラリは、GitHub によって保守されません。

## 公式 GitHub ライブラリ

GitHubは、GitHub API 用のこれらの公式クライアント ライブラリを保守します。 これらのリポジトリはopen sourceであり、コミュニティへの貢献は歓迎されています。

詳細については、「[REST API と JavaScript を使用したスクリプト](/ja/enterprise-server@3.22/rest/guides/scripting-with-the-rest-api-and-javascript)」および「[REST API と Ruby を使用したスクリプト](/ja/enterprise-server@3.22/rest/guides/scripting-with-the-rest-api-and-ruby)」を参照してください。

* JavaScript: [octokit.js](https://github.com/octokit/octokit.js)
* Ruby: [octokit.rb](https://github.com/octokit/octokit.rb)
* .NET: [octokit.net](https://github.com/octokit/octokit.net)
* Terraform: [terraform-provider-github](https://github.com/integrations/terraform-provider-github)

<!-- markdownlint-disable GHD034 -->

## サードパーティ製ライブラリ

以下は、さまざまなプログラミング言語で GitHub API と対話するために使用できるサード パーティ製ライブラリの例です。

これらのサード パーティ製ライブラリは、GitHub によって保守されません。 サード パーティによって提供されるライブラリには、個別のサービス使用条件、プライバシー ポリシー、およびサポート ドキュメントが適用されます。

### Clojure

* 触手: [clj-commons/tentacles](https://github.com/clj-commons/tentacles)

### Dart

* github.dart: [SpinlockLabs/github.dart](https://github.com/SpinlockLabs/github.dart)

### Emacs Lisp

* gh.el: [sigma/gh.el](https://github.com/sigma/gh.el)

### Go

* go-github: [google/go-github](https://github.com/google/go-github)

### Haskell

* haskell-github: [haskell-github/github](https://github.com/fpco/github)

### Java

* Java用 api GitHub、GitHub API のオブジェクト指向表現: [hub4j/github-api](https://hub4j.github.io/github-api/)
* Java7 JSON API (JSR-353) に基づく JCabi GitHub API は、ランタイム GitHub スタブを使用してテストを簡略化し、API 全体について説明します:[github.jcabi.com (個人用 Web サイト)](https://github.jcabi.com)

### JavaScript

* NodeJS GitHub ライブラリ: [pksunkara/octonode](https://github.com/pksunkara/octonode)
* GitHub API の Github.js ラッパー: [github-tools/github](https://github.com/github-tools/github)
* ブラウザーまたは NodeJS 向け Promise ベースの CoffeeScript ライブラリ: [philschatz/github-client](https://github.com/philschatz/github-client)

### Julia

* GitHub.jl: [JuliaWeb/GitHub.jl](https://github.com/JuliaWeb/GitHub.jl)

### OCaml

* ocaml-github: [mirage/ocaml-github](https://github.com/mirage/ocaml-github)

### Perl

* Pithub: [plu/Pithub](https://github.com/plu/Pithub)
* Net::GitHub: [fayland/perl-net-github](https://github.com/fayland/perl-net-github)

### PHP

* PHP GitHub API: [KnpLabs/php-github-api](https://github.com/KnpLabs/php-github-api)
* GitHub Joomla! パッケージ: [joomla-framework/github-api](https://github.com/joomla-framework/github-api)
* Laravel用GitHubブリッジ: [GrahamCampbell/Laravel-GitHub](https://github.com/GrahamCampbell/Laravel-GitHub)

### PowerShell

* PowerShellForGitHub: [microsoft/PowerShellForGitHub](https://github.com/microsoft/PowerShellForGitHub)

### Python

* gidgethub: [gidgethub/gidgethub](https://github.com/gidgethub/gidgethub)
* ghapi: [fastai/ghapi](https://github.com/fastai/ghapi)
* PyGithub: [PyGithub/PyGithub](https://github.com/PyGithub/PyGithub)
* libsaas: [duckboard/libsaas](https://github.com/ducksboard/libsaas)
* github3.py: [sigmavirus24/github3.py](https://github.com/sigmavirus24/github3.py)
* agithub: [mozilla/agithub](https://github.com/mozilla/agithub)
* github-flask: [github-flask (公式サイト)](http://github-flask.readthedocs.org)
* githubkit: [yanyongyu/githubkit](https://github.com/yanyongyu/githubkit)
* octokit.py: [khornberg/octokit.py](https://github.com/khornberg/octokit.py)

### Ruby

* GitHub API Gem: [piotrmurach/github](https://github.com/piotrmurach/github)

### Rust

* Octocrab: [XAMPPRocky/octocrab](https://github.com/XAMPPRocky/octocrab)

### Scala

* Github4s: [47deg/github4s](https://github.com/47deg/github4s)

### Shell

* ok.sh: [whiteinge/ok.sh](https://github.com/whiteinge/ok.sh)