Es gibt eine neue PullRequestReviewEvent
webhook, die ausgelöst wird, wenn eine Überprüfung in einem nicht ausstehenden Status gesendet wird. Der Hauptteil des Webhooks enthält das Feld ["review"]["state"]
, das approved
lautet, wenn alle Überprüfer die Änderungen genehmigt haben (d. H. Wenn Sie das grüne Häkchen für genehmigte Änderungen in der Benutzeroberfläche erhalten).
Kombinieren Sie dies mit den StatusEvent
für den Kopf SHA Ihre Pull-Anforderung die Statusüberprüfungen von CI und so weiter zu erhalten, überprüfen dann schließlich die „Merge-Fähigkeit“ des Pull durch requesting the pull request from the API:
GET /repos/:owner/:repo/pulls/:number
Wenn Sie alle drei Dinge haben, können Sie merge the pull request mit:
PUT /repos/:owner/:repo/pulls/:number/merge
und entsprechende Nutzlast Parameter. Beachten Sie, dass Sie die Accept: application/vnd.github.polaris-preview+json
für einige der Payload-Parameter benötigen, wie sie in einem Vorschauzeitraum sind.
Dank der Antwort von @kfb habe ich ein [NodeJS-Skript] (https://github.com/dgmltn/EggTimer) geschrieben, um dies zu tun: höre GitHub und füge automatisch ein, wenn du fertig bist. – dgmltn