app.deploys は DeploysModule を公開しており、デプロイのタイムラインと 2 つの GitHub 連携パスの両方をカバーします。
デプロイ履歴の一覧取得
app.deploys.list() は Deployment[][] を返します。デプロイごとに 1 つの内側配列があり、それぞれがライフサイクルの各状態 pending → clone → commit → restarting → success | error を辿ります。
単一の時系列リストが欲しい場合は結果をフラット化します。
v3 ではこのメソッドはフラットな Deployment[] を返していました。v4 では Deployment[][] を返すため、イベントをデプロイ単位でグループ化できます。以前の形式を維持するには .flat() を使用してください。
Deployment.id は現在、単なるコミットの SHA-1(40 桁の 16 進数)になりました。v3 では `git-${string}` の形式でフォーマットされていました。
Square Cloud GitHub App での連携(推奨)
app.deploys.linkGithubApp({ repositoryName, repositoryBranch }) は、公式の GitHub App を介して GitHub リポジトリをアプリケーションに連携します。
連携を解除するには次のようにします。
linkGithubApp と unlinkGithubApp は API キーとして セッショントークン(JWT) が必要です。これらの endpoint はプレーンな API キーを受け付けません。
レガシー webhook フローでの連携
app.deploys.integrateGithubWebhook(accessToken) は、GitHub の Personal Access Token を使用してレガシーな webhook ベースの連携を設定します。
webhook を削除するには "@" を渡します。
現在の設定の確認
app.deploys.current() は、現在設定されている GitHub App の連携情報と webhook URL があればそれを返します。
webhook URL のみ(または undefined)を返すショートカット app.deploys.webhookURL() もあります。