ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2020-11-12. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

Explorerの利用

ブラウザ内で動作する統合開発環境であるGraphQL Explorerを使って、本物のGitHubのデータに対してクエリを実行できます。GraphQL Explorerには、ドキュメント、シンタックスハイライト、検証エラーが含まれています。

ここには以下の内容があります:

GraphQL Explorerについて

GraphiQLはこのドキュメンテーション内ではGraphQL Explorerとも呼ばれており、「グラフィカルでインタラクティブなGraphQL IDE」です。

GraphiQLの利用

GraphiQLアプリケーションを使うには、https://github.com/skevy/graphiql-appからダウンロードしてインストールしてください。

GraphiQLの設定

  1. OAuthトークンを取得してください。
  2. GraphiQLを起動してください。
  3. GraphiQLの右上で、Edit HTTP Headers(HTTPヘッダの編集)をクリックしてください。
  4. Keyフィールドに、Authorizationと入力してください。 ValueフィールドにはBearer <token>と入力してください。ここで、<token>は生成したOAuthトークンです。
    graphiqlのヘッダー
  5. トークンの右のチェックマークをクリックして保存してください。
  6. エディタに戻るには、Edit HTTP Headers(HTTPヘッダの編集)モーダルの外をクリックしてください。
  7. GraphQL Endpointフィールドに、http(s)://<em>[hostname]</em>/api/graphqlを入力してください。
  8. Method(メソッド)ドロップダウンメニューで、POSTを選択してください。

ノート: メソッドがPOSTである理由に関する詳しい情報については「GraphQLでの通信」を参照してください。

自分自身についてのクエリを実行することで、アクセスのテストができます。

query {
  viewer {
    login
  }
}

すべてが正しく動作していれば、これでログイン情報が表示されます。 これでクエリを発行する準備ができました。

サイドバードキュメントへのアクセス

GraphQLスキーマ内のすべての型には、ドキュメントに編集されるdescriptionフィールドが含まれています。 Explorerページの右にある折りたたみ可能なDocsペインからは、型システムに関するドキュメントをブラウズできます。 このドキュメントは自動的に更新され、非推奨のフィールドは削除されます。

Docsサイドバーには、「リファレンス」の下にあるスキーマから自動的に生成されるものと同じ内容が含まれていますが、所々形式が異なっています。

変数ペインの利用

サンプルの呼び出しの中には、以下のように書かれる変数を含むものがあります。

query($number_of_repos:Int!){
  viewer {
    name
     repositories(last: $number_of_repos) {
       nodes {
         name
       }
     }
   }
}
variables {
   "number_of_repos": 3
}

これは、cURLのPOSTで呼び出しをサブミットするための正しいフォーマットです(改行をエスケープするかぎりにおいて)。

この呼び出しをExplorerで実行したい場合は、メインペインにqueryセグメントを入力し、その下のQuery Variables(クエリ変数)ペインに変数を入力してください。 Explorerからはvariableという語は省略してください。

{
   "number_of_repos": 3
}

サポートのリクエスト

GitHub App、OAuth App、API開発に関する疑問、バグレポート、議論については、GitHub API Development and Support Forumを調べてみてください。 このフォーラムはGitHubのスタッフによって進行及び管理されていますが、フォーラムにポストされた疑問に対してGitHubのスタッフからの返答があることは保証されていません。

以下の場合は、連絡フォームを使ってGitHub Supportに直接連絡することを検討してください。

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

エラーのトラブルシューティング

GraphQLはイントロスペクション可能なので、Explorerは以下をサポートしています。

  • インテリジェントに現在のスキーマを先行して認識
  • 入力中の検証エラープレビュー

正しい形式ではない、あるいはスキーマ検証をパスしないクエリを入力すると、ポップアップがエラーを警告します。 そのクエリを実行すると、レスポンスペインにエラーが返されます。

GraphQLのレスポンスには、dataハッシュやerrors配列といったいくつかのキーが含まれます。

{
  "data": null,
  "errors": [
    {
      "message": "Objects must have selections (field 'nodes' returns Repository but has no selections)",
      "locations": [
        {
          "line": 5,
          "column": 8
        }
      ]
    }
  ]
}

スキーマに関係ない、予想外のエラーに行き当たることもあります。 そうなった場合には、メッセージには問題を報告する際に利用できる参照コードが含まれます。

{
  "data": null,
  "errors": [
    {
      "message": "Something went wrong while executing your query. This is most likely a GitHub bug. Please include \"7571:3FF6:552G94B:69F45B7:5913BBEQ\" when reporting this issue."
    }
  ]
}

ノート: GitHubは、データを実働環境で使う前にエラーをチェックしておくことをおすすめします。 GraphQLでは、失敗は全体的なものではありません。GraphQLクエリの一部が成功し、その他の部分が失敗しているということもあります。