Skip to main content

Diese Version von GitHub Enterprise Server wurde eingestellt am 2024-03-26. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für bessere Leistung, verbesserte Sicherheit und neue Features aktualisiere auf die neueste Version von GitHub Enterprise Server. Wende dich an den GitHub Enterprise-Support, um Hilfe zum Upgrade zu erhalten.

Verwenden des Explorers

Du kannst Abfragen für echte GitHub-Daten mithilfe des GraphQL-Explorers ausführen, einer integrierten Entwicklungsumgebung in deinem Browser, die Dokumente, Syntaxhervorhebung und Überprüfungsfehler unterstützt.

Informationen zum GraphQL-Explorer

GraphiQL (in dieser Dokumentation auch als GraphQL-Explorer bezeichnet) ist eine „grafische interaktive browserinterne GraphQL-IDE“.

AutoVervollständigen von Abfragen

Sie können die AutoVervollständigen für Abfragen verwenden, um Abfragen zu erstellen. Verwenden Sie im Hauptbereich innerhalb der geschweiften Klammern der Abfrage den STRG+Leertaste oder UMSCHALT+Leertaste, um das Menü „AutoVervollständigen“ anzuzeigen.

Zugreifen auf die Randleistendokumentation

Alle Typen in einem GraphQL-Schema umfassen ein description-Feld, das in der Dokumentation kompiliert ist. Über den reduzierbaren Bereich Dokumentation rechts auf der Explorer-Seite kannst du die Dokumentation zum Typensystem durchsuchen. Die Dokumentation wird automatisch aktualisiert, und veraltete Felder werden entfernt.

Die Inhalte, auf die über die Seitenleiste Dokumentation zugegriffen werden kann, sind mit den Inhalten identisch, die automatisch anhand des Schemas unter Dokumentation zu GitHub GraphQL-API generiert werden. Der einzige Unterschied ist eine abweichende Formatierung.

Verwenden des Variablenbereichs

Einige Beispielaufrufe umfassen Variablen, die wie folgt aussehen:

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

Dies ist das richtige Format, um den Aufruf unter Verwendung einer POST-Anforderung in einem curl-Befehl übermitteln (solange Zeilenvorschubzeichen in Escape-Zeichen gesetzt werden).

Wenn der Aufruf im Explorer erfolgen soll, gib das query-Segment im Hauptbereich und die Variablen im Bereich Abfragevariablen darunter ein. Lasse das Wort variables im Explorer aus:

{
   "number_of_repos": 3
}

Verwenden der Altair-GraphQL-Client-IDE

Es gibt viele Open Source-GraphQL-Client-IDEs (Integrated Development Environment, integrierte Entwicklungsumgebung). Du kannst beispielsweise Altair verwenden, um auf die GraphQL-API von GitHub zuzugreifen. Lade die Altair-Software von altair-graphql/altair herunter, und installiere sie, um damit auf die GraphQL-API zuzugreifen. Führe dann die folgenden Konfigurationsschritte aus.

Konfigurieren von Altair

  1. Rufe ein Zugriffstoken ab.
  2. Starte Altair.
  3. Wähle in der linken Randleiste unter dem Altair-Logo die Option Set Headers aus. Ein neues Fenster wird geöffnet.
  4. Gib Authorization in das Feld „Header key“ ein.
  5. Gib Bearer TOKEN in das Feld „Header value“ ein, und ersetze TOKEN dabei durch das Token aus dem ersten Schritt.
  6. Wähle in der unteren rechten Ecke des Fensters Save aus, um deinen Autorisierungsheader zu speichern.
  7. Gib http(s)://<em>HOSTNAME</em>/api/graphql in das Feld „GraphQL Endpoint“ ein.
  8. Lade das öffentliche Schema herunter, um das GitHub-GraphQL-Schema zu laden.
  9. Wähle in Altair oben rechts die Option Docs, dann die drei Auslassungspunkte und anschließend Load Schema aus.
  10. Wähle das öffentliche Dateischema aus, das du zuvor heruntergeladen hast.

Hinweis: Weitere Informationen dazu, weshalb die Methode POST verwendet wird, finden Sie unter Erstellen von Aufrufen mit GraphQL.

Zum Testen des Zugriffs kannst du dich selbst abfragen:

query {
  viewer {
    login
  }
}

Wenn alles richtig funktioniert hat, wird deine Anmeldung angezeigt. Du kannst nun Abfragen ausführen.

Anfordern von Unterstützung

Um Fragen, Fehlerberichte und Diskussionen zu GitHub Apps, OAuth apps und API-Entwicklung zu finden, durchsuche das Kategorie „API“ und „Webhooks“ in GitHub-Community-Diskussionen. Die Diskussionen werden von GitHub-Mitarbeitern moderiert und gepflegt und von der GitHub-Community beantwortet.

Wende dich bei folgenden Anliegen über das Kontaktformular direkt an den GitHub-Support:

  • garantierte Antwort von GitHub Enterprise Server-Mitarbeitern
  • Support-Anfragen mit sensitiven Daten oder privaten Anliegen
  • Feature-Anfragen
  • Feedback zu GitHub Enterprise Server-Produkten

Problembehandlung

Da GraphQL introspektiv ist, unterstützt der Explorer Folgendes:

  • Intelligente Vorschlagssuche, bei der das aktuelle Schema berücksichtigt wird
  • Vorschau von Validierungsfehlern während der Eingabe

Bei der Eingabe einer Abfrage, die nicht wohlgeformt ist oder die die Schemaüberprüfung nicht besteht, wirst du in einer Popupwarnung über diesen Fehler informiert. Wenn du die Abfrage ausführst, wird der Fehler im Antwortbereich zurückgegeben.

Eine GraphQL-Antwort enthält mehrere Schlüssel: einen data-Hash und ein errors-Array.

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

Möglicherweise tritt ein unerwarteter Fehler auf, der nicht im Zusammenhang mit dem Schema steht. In diesem Fall enthält die Meldung einen Referenzcode, den du beim Melden des Problems verwenden kannst:

{
  "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."
    }
  ]
}

Hinweis: GitHub empfiehlt eine Überprüfung auf Fehler, bevor Daten in einer Produktionsumgebung verwendet werden. Bei GraphQL betreffen Fehler nicht zwangsläufig sämtliche Abfragen: einige GraphQL-Abfragen können erfolgreich sein, während bei anderen Fehler auftreten.