GraphQL Explorerについて
注: GitHub Enterprise Cloud 組織が GitHub の IP 許可リストを使用している場合、GraphQL エクスプローラーを使用することはできません。 代わりに、代替の GraphQL クライアント IDE を使用することをお勧めします。
GraphQL Explorer は、GraphiQL のインスタンスです。これは "グラフィカル インタラクティブ ブラウザー内 GraphQL IDE" です。
クエリオートコンプリート
クエリオートコンプリートを使用すると、クエリの作成に役立ちます。 メイン ペインのクエリの中かっこ内で、コントロール+スペースまたはシフト+スペースを使用してオートコンプリート メニューを表示します。
サイドバードキュメントへのアクセス
GraphQL スキーマ内のすべての型には、ドキュメントにコンパイルされる description
フィールドが含まれています。 Explorer ページの右側にある折りたたみ可能な [Docs] ペインからは、型システムに関するドキュメントを参照できます。 ドキュメントは自動的に更新され、終了 のフィールドが削除されます。
[Docs] サイドバーには、「GitHub GraphQL API に関するドキュメント」にあるスキーマから自動的に生成されるものと同じ内容が含まれていますが、所々形式が異なっています。
変数ペインの利用
呼び出しの例には、次のように記述された変数が含まれます。
query($number_of_repos:Int!){
viewer {
name
repositories(last: $number_of_repos) {
nodes {
name
}
}
}
}
variables {
"number_of_repos": 3
}
これは、(改行をエスケープする限り) curl
コマンドで POST
要求を使って呼び出しを送信する正しい形式です。
この呼び出しを Explorer で実行したい場合は、メイン ペインに query
セグメントを、その下の [クエリ変数] ペインに変数を入力してください。 Explorer から単語 variables
を省略します。
{
"number_of_repos": 3
}
Altair GraphQL クライアント IDE を使用する
多くのオープンソース GraphQL クライアント IDE があります。 たとえば、Altair を使用して、GitHub の GraphQL API にアクセスできます。 Altair を使用して GraphQL API にアクセスするには、altair-graphql/altair からダウンロードしてインストールします。 その後、次の構成手順に従います。
Altair の構成
- アクセス トークンを取得します。
- Altair を起動します。
- 左側のサイド バーで、Altair ロゴの下にある [ヘッダーの設定] をクリックします。 新しいウィンドウが開きます。
- [ヘッダー キー] フィールドに「
Authorization
」と入力します。 - [ヘッダー値] フィールドに「
Bearer TOKEN
」と入力し、TOKEN
を最初の手順のトークンに置き換えます。 - ウィンドウの右下隅にある [保存] をクリックして、承認ヘッダーを保存します。
- [GraphQL Endpoint] フィールドに、GraphQL URL (例:
https://api.github.com/graphql
) を入力します。 - GitHub GraphQL スキーマを読み込むために、パブリック スキーマをダウンロードします。
- Altair で、右上にある [ドキュメント] 、次に 3 つのドット、それから [スキーマの読み込み...] をクリックします
- 前の手順でダウンロードしたファイル パブリック スキーマを選択します。
注: メソッドが POST
である理由について詳しくは、「GraphQLでの呼び出しの作成」をご覧ください。
自分自身についてのクエリを実行することで、アクセスのテストができます。
query {
viewer {
login
}
}
すべてが正しく動作していれば、これでログイン情報が表示されます。 これでクエリを発行する準備ができました。
サポートのリクエスト
GitHub Apps、OAuth apps、API 開発に関する疑問、バグ レポート、ディスカッションについては、GitHub のコミュニティ ディスカッションの API と Webhook カテゴリ を調べてください。 ディスカッションは、GitHub スタッフによって管理および維持され、GitHub コミュニティによって回答されます。
次の場合は、お問い合わせフォームを使用して GitHub サポートに直接連絡することを検討してください。
- GitHub Enterprise Cloudのスタッフからの反応を確実に得たい場合
- センシティブなデータやプライベートな懸念事項に関わるサポートリクエスト
- 機能リクエスト
- GitHub Enterprise Cloudの製品に関するフィードバック
エラーのトラブルシューティング
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クエリの一部が成功し、その他の部分が失敗しているということもあります。