Github - GitHub CLI
Quick Chat
發現 GitHub 網頁面板上好像沒辦法直接刪除 deployment,得用 GitHub CLI 來操作。
Guide
Memo
登入
gh auth login
僅保留最近 200 個部屬,其餘的刪除
gh api repos/{owner}/{repo}/deployments --paginate --jq '.[].id' | Select-Object -Skip 200| ForEach-Object {
Write-Host "Deleting deployment $_"
gh api --method DELETE repos/{owner}/{repo}/deployments/$_
}
gh api
:用 GitHub CLI 發送 API 請求。repos/{owner}/{repo}/deployments
:指定查詢的 GitHub Repository 和其部署。--paginate
:表示如果結果有很多頁,會自動翻頁取得所有部署資訊。--jq '.[].id'
:這部分是使用jq
來過濾和格式化結果,提取所有部署的 ID。Select-Object -Skip 200
:這行會將返回的部署 ID 進行處理,並跳過前 200 個部署。ForEach-Object { ... }
:對每一個 ID 執行大括號{}
中的命令。--method DELETE
:指定 HTTP 請求方法為 DELETE,用來刪除資源。repos/{owner}/{repo}/deployments/$_
:指定要刪除的部署,$_
是當前處理的 deployment ID。