Esta versión de GitHub Enterprise se discontinuó el 2021-09-23. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener un mejor desempeño, más seguridad y nuevas características, actualiza a la última versión de GitHub Enterprise. Para obtener ayuda con la actualización, contacta al soporte de GitHub Enterprise.

Utilizar el Explorador

Puedes ejecutar consultas en datos reales de GitHub utilizando el explorador de GraphQL, un ambiente de desarrollo integrado en tu buscador que incluye documentos, sintaxis resaltada y errores de validación.

Acerca del explorador de GraphQL

GraphiQL, también mencionado en esta documentación como el explorador de GraphQL, es una "IDE de GraphQL gráfica e interactiva en el mismo buscador".

Utilizar GrpahiQL

Para utilizar la app de GraphiQL, descárgala e instálala desde https://github.com/skevy/graphiql-app.

Configurar GraphiQL

  1. Obtén un token de OAuth.
  2. Lanzar GraphiQL.
  3. En la esquina superior derecha de GraphiQL, da clic en Editar Encabezados de HTTP.
  4. En el campo Clave, ingresa Authorization. En el campo Valor, ingresa Bearer <token>, en donde <token> es tu token de OAuth generado. encabezados de graphiql
  5. Da clic en la casilla a la derecha del token para guardarlo.
  6. Para gregresar al editor, da clic fuera de el modo Editar Encabezados de HTTP.
  7. En el campo Terminal GraphQL ingresa http(s)://<em>[hostname]</em>/api/graphql.
  8. En el menú desplegable Método, selecciona POST.

Nota: Para obtener más información acerca del porqué POST es el método, consulta la sección "Comunicarse con GraphQL".

Puedes probar tu acceso si te consultas a ti mismo:

query {
  viewer {
    login
  }
}

Si todo funcionó correctamente, esto mostrará tu ingreso. Estás listo para comenzar a hacer consultas.

Acceder a los documentos de la barra lateral

Todos los tipos en el modelo de GraphQL incluyen un campo de description compilado en la documentación. El pánel retráctil Docs en el costado derecho de la página del explorador te permite buscar documentación acerca de tu tipo de sistema. Los documentos se actualizan automáticamente y eliminarán los campos obsoletos.

La barra lateral de Docs tiene el mismo contenido que se genera automáticamente del modelo bajo "Referencia", aunque con diferente formato en algunas partes.

Utilizar el pánel de variable

Algunos llamados de ejemplo incluyen variables escritas como éstas:

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

Este es el formato correcto para emitir la llamada a través de POST en cURL (mientras que escapes las líneas nuevas).

Si quieres ejecutar la llamada en el explorador, ingresa el segmento query en el panel principal y las variables en el panel de Variables de Consulta debajo de éste. Omite la palabra variables en el explorador:

{
   "number_of_repos": 3
}

Solicitar soporte

Para las preguntas, reportes de errores y debates sobre las GitHub Apps, OAuth Apps y el desarrollo de la API, explora el Foro de desarrollo y soporte de la API de GitHub. El foro se modera y mantiene con el personal de GitHub, pero no se garantiza que el personal de GitHub responda las preguntas que se publiquen en el mismo.

Considera contactar al Soporte de GitHub directamente utilizando el formato de contacto para:

  • respuestas garantizadas del personal de GitHub Enterprise Server
  • solicitudes de soporte que involucren preocupaciones sobre datos sensibles o privados
  • solicitudes de características
  • retroalimentación sobre los productos de GitHub Enterprise Server

Solución de errores

Ya que GraphQL es introspectivo, el explorador soporta:

  • Autocompleción inteligente consciente del modelo actual
  • Vistas previas de validación de errores mientras tecleas

Si ingresas una consulta que no esté bien estructurada o no pase el modelo de validación, un mensaje emergente te avisará de un error. Si ejecutas la consulta, el error se devolverá en el panel de respuesta.

Una respuesta de GraphQL contiene varias claves: un hash de data y un arreglo de errors.

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

Es posible que te encuentres con un error inesperado que no está relacionado con el modelo. Si esto pasa, el mensaje incluirá el código de referencia que puedes utilizar cuando reportas el problema:

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

Nota: GitHub recomienda que revises si hay errores antes de utilizar datos en un ambiente productivo. En GraphQL, la falla no es total: algunas porciones de las consultas de GraphQL pueden tener éxito y otras pueden fallar.