Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください

GraphQL APIについて

GitHubのGraphQL APIは、柔軟性と、フェッチしたいデータを正確に定義できる機能を提供します。

概要

以下は、GraphQL APIを使い始めるためのクイックリンクです。

GitHub の API について詳しくは、「GitHub の API について」を参照してください。

GraphQLについて

GraphQL データ クエリ言語は次のとおりです。

  • 仕様です。 仕様によって、API サーバー上の スキーマ の有効性が決まります。 スキーマは、クライアントの呼び出しの正当性を決定します。

  • 厳密に型指定されます。 スキーマによって、API の型システムとすべてのオブジェクト リレーションシップが定義されます。

  • 内省的です。 クライアントはスキーマに対してクエリを実行して、スキーマの詳細を確認できます。

  • 階層構造です。 GraphQL 呼び出しの構造は、返される JSON データの構造を反映しています。 入れ子になったフィールドを使用すると、1 回のラウンド トリップで指定したデータのみをクエリおよび受信できます。

  • アプリケーション レイヤーです。 GraphQL は、ストレージ モデルまたはデータベース クエリ言語ではありません。 graph は、スキーマで定義されたグラフ構造を指します。ノードでオブジェクトが定義され、エッジでオブジェクト間のリレーションシップが定義されます。 APIは、データがどのように保存されているかに関係なく、スキーマ定義に従ってアプリケーションデータをトラバースして返します。

GitHubがGraphQLを使う理由

GitHubは、インテグレーターにとって大きな柔軟性を提供してくれることから、GraphQLを選択しました。 必要—なデータを正確に定義する機能と、必要なデータのみを—定義できることは、従来の REST API エンドポイントよりも強力な利点です。 GraphQL を使用すると、複数の REST 要求を 1 回の呼び出しに 置き換えて、指定したデータをフェッチできます。

GitHub が GraphQL に投資した理由の詳細については、元のお知らせブログ記事をご覧ください。

GraphQLのスキーマ参照について

サイドバーのドキュメントは、GitHub GraphQL スキーマから生成されます。 すべての呼び出しは、このスキーマに対して検証され、実行されます。 以下のドキュメントを使って、呼び出せるデータを見つけてください。

この同じコンテンツには、Explorer のドキュメントのサイドバーからアクセスできます。 GraphQL APIの呼び出しをうまく行うためには、ドキュメントとスキーマ検証の両方に依存しなければならないことがあります。

認証やレート制限の詳細など、その他の情報については「ガイド」を参照してください。

サポートのリクエスト

GitHub Apps、OAuth Apps、API 開発に関する疑問、バグ レポート、ディスカッションについては、GitHub コミュニティでの API と統合に関するディスカッション を調べてください。 このディスカッションは GitHub のスタッフによって進行および管理されていますが、フォーラムに投稿された質問に GitHub のスタッフが必ずしも返答するとは限りません。

次の場合は、お問い合わせフォームを使用して GitHub サポートに直接連絡することを検討してください。

  • GitHub Enterprise Serverのスタッフからの反応を確実に得たい場合
  • センシティブなデータやプライベートな懸念事項に関わるサポートリクエスト
  • 機能リクエスト
  • GitHub Enterprise Serverの製品に関するフィードバック