Skip to main content

堆积拉取请求 API 和 Webhook

使用 GitHub REST 和 GraphQL API 和 Webhook 以编程方式读取和管理堆积拉取请求。

在本文中

注意

此功能以公共预览版提供,可能会发生更改。

GitHub REST 和 GraphQL API 都公开堆积拉取请求。 REST API 支持读取和管理堆栈,而 GraphQL API 支持只读查询。

使用 API 读取拉取请求的堆栈成员身份,或为堆积拉取请求生成自己的自动化和集成。

REST API

REST API 以两种方式公开堆积拉取请求:

  • stack拉取请求资源上的对象。 当拉取请求属于堆栈时,其 REST 资源包括一个 stack 对象。 这样,便可以直接从拉取请求读取拉取请求的堆栈成员身份,包括堆栈的数量和大小以及拉取请求的位置和基数。
  • Stacks API。 用于列出、读取、创建、扩展和解散堆栈的专用终结点集。 这是用于创建和修改堆栈的图面。

有关终结点、参数和架构,请参阅 用于拉取请求的 REST API 终结点

重要

如果通过 API 合并并想要使用堆叠拉取请求,则必须使用新的异步合并 API。

合并 API

通过 API 合并堆积拉取请求时,必须使用异步合并终结点。

堆栈不能与旧的同步合并终结点或突变合并。 合并堆积拉取请求时,堆栈中的每个拉取请求将合并或排队以合并到基分支中, 合并拉取请求堆栈可能需要几分钟才能合并的拉取请求。 因此,在提交合并请求时,合并在后台运行,然后你可以轮询结果。

提交打开的 PR 时,只会检查基本拉取请求状态。 稍后在合并实际运行时评估分支保护和存储库规则,并在轮询时将规则失败报告为失败结果。 堆栈合并请求是原子请求,这意味着整个拉取请求合并组,或添加到合并队列,或者其中没有任何请求。

有关详细信息,请参阅 用于拉取请求的 REST API 终结点

GraphQL API

GraphQL API 通过类型上的stack只读stackEntry字段公开PullRequest拉取请求的堆栈成员身份。 使用这些字段查询拉取请求所属的堆栈及其内部位置。

GraphQL API 是堆栈的只读;没有堆栈突变。 若要创建或修改堆栈,请使用 REST API。

有关字段、对象和架构,请参阅 拉取请求

网络钩子

当拉取请求属于堆栈时, GitHub 将属性添加到 stack``pull_request Webhook 事件有效负载中的对象。 这允许应用和集成检查堆栈的目标分支,而不仅仅是拉取请求的直接父分支。

stack 对象包含在拉取请求生命周期事件的 Webhook 有效负载中 pull_request ,该事件发生在拉取请求是堆栈的一部分。

请参阅“Webhook 事件和有效负载”。

延伸阅读