c.Apps.Deploys verbindet eine App mit GitHub, sodass ein Push sie deployt. Dafür gibt es zwei Wege: einen Webhook, den du dem Repository hinzufügst, oder die Square Cloud GitHub App.
Jedes Snippet unten läuft für sich allein in diesem Programm: Füge jeweils eines in main ein und führe goimports aus (siehe Beispiele ausführen).
Webhook
Deploys.SetWebhook(ctx, appID, accessToken) konfiguriert Deploys per GitHub-Webhook mit einem GitHub-Zugriffstoken (ghp_... oder github_pat_...) und gibt die Webhook-URL zurück, die du deinem Repository hinzufügst.
"@" als Token, um den Webhook zu entfernen. Die Methode gibt dann "" zurück.
INVALID_ACCESS_TOKEN.
GitHub App
Deploys.LinkGithubApp(ctx, appID, repository, branch) verknüpft ein Repository, das über die Square Cloud GitHub App installiert ist. Dafür ist der Scope apps:deploy nötig.
Deploys.UnlinkGithubApp(ctx, appID) entfernt die Verknüpfung. Um ein anderes Repository oder einen anderen Branch zu verknüpfen, hebe die Verknüpfung zuerst auf.
Aktuelle Konfiguration
Deploys.Current(ctx, appID) gibt zurück, was konfiguriert ist: App für die Verknüpfung mit der GitHub App, Webhook für die Webhook-URL. Ist nichts gesetzt, gibt die Methode den Nullwert zurück (App ist nil und Webhook ist ""). Die Felder von App sind Zeiger, da die API sie als null senden kann.
Deploy-Verlauf
Deploys.List(ctx, appID) gibt eine Zeitleiste pro Deploy zurück (ein [][]DeployEvent), jede ein Slice von Ereignissen, das älteste Ereignis zuerst. Nur Git-Deploys (Pushes per Webhook und GitHub App) werden aufgezeichnet.
Nächste Schritte
Netzwerk
Analytics, DNS, eigene Domains und Cache.
API-Referenz für Deploys
Die REST-Endpunkte hinter diesen Methoden.
GitHub-Deploys über die CLI
Dieselben Aktionen im Terminal.

