GraphQL API

GraphQL API

版本历史

  • 在 GitLab 11.0 中 (由功能标志启用).
  • 始终在 GitLab 12.1 中 .

有关 GitLab GraphQL API 的新知识,请参见 GitLab GraphQL API 入门 .

GraphiQL

使用交互式GraphiQL浏览器浏览 GraphQL API,或在https://<your-gitlab-site.com>/-/graphql-explorer上的自管理 GitLab 实例上https://<your-gitlab-site.com>/-/graphql-explorer .

有关 GraphiQL Explorer 的更多信息,请参见 .

GraphQL是 API 的查询语言,它允许客户端准确地请求他们所需的数据,从而有可能在有限数量的请求中获得所有必需的数据.

由于没有固定的端点和数据模型,因此可以在不进行重大更改的情况下将新功能添加到 API. 这使我们可以拥有中所述的无版本 API.

我们希望 GraphQL API 是与 GitLab 进行编程交互的主要方式. 为此,它需要全面覆盖-REST API 中可能的一切在 GraphQL API 中也应该可行.

为了帮助我们实现这一愿景,前端应优先使用 GraphQL 而不是 REST API 的新功能.

There are no plans to deprecate the REST API. To reduce the technical burden of supporting two APIs in parallel, they should share implementations as much as possible.

GraphQL API 在根级别包含以下查询:

  1. project :项目信息及其许多关联,例如问题和合并请求.
  2. :基本组信息和史诗 目前受支持.
  3. user :有关特定用户的信息.
  4. namespace :在名称空间内,也可以提取projects .
  5. currentUser :有关当前登录用户的信息.
  6. :有关用户集合的信息.
  7. metaData :有关 GitLab 和 GraphQL API 的元数据.
  8. snippets :当前登录用户可见的snippets .

根级查询在 .

Multiplex queries

GitLab 支持使用查询批量处理为单个请求. GitLab 在后端使用的库GraphQL Ruby也提供了有关多路查询的更多信息.

GitLab 的 GraphQL 参考 .

它是从 GitLab 的 GraphQL 模式自动生成的,并嵌入到 Markdown 文件中.

机器可读版本也可用: