Skip to main content
Skip to content

APIs e webhooks de pull requests empilhados

Leia e gerencie solicitações de pull empilhadas programaticamente com as GitHub APIs REST e GraphQL e webhooks.

As APIs REST e GraphQL expõem pull requests empilhados. A API REST dá suporte à leitura e ao gerenciamento de stacks, enquanto a API GraphQL dá suporte a consultas somente leitura.

Use a API para ler o pertencimento a uma pilha de um pull request ou criar sua própria automação e integrações para pull requests empilhados.

API REST

A API REST expõe solicitações de pull empilhadas de duas maneiras:

  • O stack objeto nos recursos de pull request. Quando um pull request pertence a uma pilha, seu recurso REST inclui um objeto stack. Isso permite que você leia o pertencimento à pilha do pull request, incluindo o número e o tamanho da pilha e a posição e a base do pull request, diretamente do pull request.
  • A API Stacks. Um conjunto dedicado de endpoints para listar, ler, criar, estender e dissolver stacks. Essa é a superfície para criar e modificar stacks.

Para pontos de extremidade, parâmetros e esquemas, consulte Endpoints da API REST para solicitações de pull.

Importante

Se você mesclar por meio da API e quiser usar pull requests empilhados, deverá usar a nova API de mesclagem assíncrona.

API de merge

Ao mesclar uma solicitação de pull empilhada por meio da API, você deve usar o endpoint de mesclagem assíncrona.

Uma pilha não pode ser mesclada com os endpoints ou mutações síncronas legados. Quando você mescla uma solicitação de pull empilhada, cada solicitação de pull na pilha até e incluindo aquela cuja mesclagem você solicitou é mesclada ou enfileirada para mesclar no branch base. A mesclagem de uma pilha de pull requests pode envolver vários pull requests que podem levar alguns minutos para serem mesclados. Por isso, a mesclagem é executada em segundo plano quando você envia uma solicitação de mesclagem e, em seguida, pode verificar o resultado.

Somente o estado básico do pull request é verificado quando você envia uma PR aberta. As regras de proteção de branch e repositório são avaliadas posteriormente, quando a mesclagem realmente é executada e uma falha de regra é relatada como um resultado com falha durante a verificação. Uma solicitação de mesclagem de pilha é atômica, o que significa que todo o grupo de pull requests é mesclado, ou é adicionado à fila de mesclagem, ou nenhum deles é mesclado.

Para obter detalhes, consulte Endpoints da API REST para solicitações de pull.

API GraphQL

A API do GraphQL expõe o pertencimento de uma pull request à pilha por meio dos campos stack e stackEntry somente leitura no tipo PullRequest. Use esses campos para consultar a pilha à qual um pull request pertence e sua posição dentro dela.

A API do GraphQL é somente de leitura para pilhas; não há mutações de pilha. Para criar ou modificar stacks, use a API REST.

Para campos, objetos e esquemas, consulte Solicitações de pull.

Webhooks

Quando uma pull request pertence a uma pilha, GitHub adiciona uma propriedade stack ao objeto pull_request em payloads de eventos de webhook. Isso permite que aplicativos e integrações inspecionem o branch de destino da pilha, não apenas o branch pai direto do pull request.

O stack objeto é incluído no conteúdo do pull_request webhook para eventos de ciclo de vida de pull request que ocorrem enquanto a pull request faz parte de uma pilha.

Consulte Eventos e cargas de webhook.

Leitura adicional