c.Apps.Deploys はアプリを GitHub に接続し、push するだけで deploy されるようにします。方法は 2 つあります。リポジトリに追加する webhook か、Square Cloud GitHub App です。
以下の各スニペットは、このプログラムの中で単独で動作します。1 つずつ main に貼り付けて goimports を実行してください (サンプルの実行を参照)。
Webhook
Deploys.SetWebhook(ctx, appID, accessToken) は GitHub のアクセストークン (ghp_... または github_pat_...) を使って GitHub webhook による deploy を設定し、リポジトリに追加する webhook URL を返します。
"@" を渡します。その場合、メソッドは "" を返します。
INVALID_ACCESS_TOKEN になります。
GitHub App
Deploys.LinkGithubApp(ctx, appID, repository, branch) は、Square Cloud GitHub App を通じてインストールされたリポジトリを連携します。apps:deploy スコープが必要です。
Deploys.UnlinkGithubApp(ctx, appID) は連携を解除します。別のリポジトリやブランチを連携するには、先に連携を解除してください。
現在の設定
Deploys.Current(ctx, appID) は現在の設定を返します。App は GitHub App の連携、Webhook は webhook URL です。何も設定されていない場合はゼロ値を返します (App は nil、Webhook は "")。API が null として送る可能性があるため、App のフィールドはポインタです。
Deploy 履歴
Deploys.List(ctx, appID) は deploy ごとに 1 つのタイムライン ([][]DeployEvent) を返します。各タイムラインはイベントのスライスで、古いイベントから順に並びます。記録されるのは Git による deploy (webhook と GitHub App による push) だけです。
次のステップ
ネットワーク
アナリティクス、DNS、カスタムドメイン、キャッシュ。
Deploy API リファレンス
これらのメソッドが呼び出す REST endpoint。
CLI で GitHub から deploy
同じ操作をターミナルから行います。

