Skip to main content

Gestapelte Pullanforderungen-APIs und Webhooks

Programmgesteuertes Lesen und Verwalten von gestapelten Pullanforderungen mit den GitHub REST- und GraphQL-APIs und Webhooks.

In diesem Artikel

Hinweis

Dieses Feature befindet sich in der öffentlichen Vorschau und kann geändert werden.

Die GitHub REST- und GraphQL-APIs machen gestapelte Pullanforderungen verfügbar. Die REST-API unterstützt das Lesen und Verwalten von Stapeln, während die GraphQL-API schreibgeschützte Abfragen unterstützt.

Verwenden Sie die API, um die Stapelmitgliedschaft einer Pullanforderung zu lesen oder Ihre eigenen Automatisierungs- und Integrationen für gestapelte Pullanforderungen zu erstellen.

REST API

Die REST-API macht gestapelte Pullanforderungen auf zwei Arten verfügbar:

  • Das Objekt für Pullanforderungsressourcen stack . Wenn eine Pullanforderung zu einem Stapel gehört, enthält die REST-Ressource ein stack Objekt. Auf diese Weise können Sie die Stapelmitgliedschaft der Pullanforderung lesen, einschließlich der Anzahl und Größe des Stapels und der Position und Basis der Pullanforderung direkt aus der Pullanforderung.
  • Die Stacks-API. Eine dedizierte Gruppe von Endpunkten zum Auflisten, Lesen, Erstellen, Erweitern und Auflösen von Stapeln. Dies ist die Oberfläche zum Erstellen und Ändern von Stapeln.

Endpunkte, Parameter und Schemas finden Sie unter REST-API-Endpunkte für Pullanforderungen.

Wichtig

Wenn Sie über die API zusammenführen und gestapelte Pullanforderungen verwenden möchten, müssen Sie die neue asynchrone Zusammenführungs-API verwenden.

API zusammenführen

Wenn Sie eine gestapelte Pullanforderung über die API zusammenführen, müssen Sie den asynchronen Zusammenführungsendpunkt verwenden.

Ein Stapel kann nicht mit den älteren synchronen Zusammenführungsendpunkten oder Mutationen zusammengeführt werden. Wenn Sie eine gestapelte Pullanforderung zusammenführen, wird jede Pullanforderung im Stapel bis hin zur Anforderung zusammengeführt oder in die Warteschlange eingereiht, um sie in die Basis-Verzweigung einzufügen. Das Zusammenführen eines Pullanforderungsstapels kann mehrere Pullanforderungen umfassen, die ein paar Minuten dauern können, um zusammenzuführen. Aus diesem Grund wird der Seriendruck im Hintergrund ausgeführt, wenn Sie eine Seriendruckanforderung übermitteln und dann das Ergebnis abfragen können.

Nur der grundlegende Pullanforderungsstatus wird überprüft, wenn Sie eine geöffnete PR übermitteln. Verzweigungsschutz- und Repositoryregeln werden später ausgewertet, wenn der Seriendruck tatsächlich ausgeführt wird, und ein Regelfehler wird beim Abrufen als fehlgeschlagenes Ergebnis gemeldet. Eine Stapelzusammenführungsanforderung ist atomar, d. h. entweder die gesamte Gruppe von Pullanforderungen, oder sie wird der Seriendruckwarteschlange hinzugefügt, oder keines davon ist.

Ausführliche Informationen findest du unter REST-API-Endpunkte für Pullanforderungen.

GraphQL-API

Die GraphQL-API macht die Stapelmitgliedschaft einer Pullanforderung über schreibgeschützt stack und stackEntry Felder für den PullRequest Typ verfügbar. Verwenden Sie diese Felder, um den Stapel abzufragen, zu dem eine Pullanforderung gehört, und dessen Position darin.

Die GraphQL-API ist schreibgeschützt für Stapel. Es gibt keine Stapelmutationen. Verwenden Sie die REST-API, um Stapel zu erstellen oder zu ändern.

Informationen zu Feldern, Objekten und Schemas finden Sie unter Pull-Anfragen.

Webhooks

Wenn eine Pullanforderung zu einem Stapel gehört, GitHub wird dem stack Objekt in Webhook-Ereignisnutzlasten eine pull_request Eigenschaft hinzugefügt. Auf diese Weise können Apps und Integrationen die Zielverzweigung des Stapels prüfen, nicht nur die direkte übergeordnete Verzweigung der Pullanforderung.

Das stack Objekt ist in der pull_request Webhook-Nutzlast für Pull-Anforderungslebenszyklusereignisse enthalten, die auftreten, während die Pullanforderung Teil eines Stapels ist.

Siehe Webhook-Ereignisse und Webhook-Nutzlasten.

Weiterführende Lektüre