【发布时间】:2022-11-10 22:42:40
【问题描述】:
我有很多工作流程运行。尽管它们并没有打扰我,但由于lean software development(消除浪费)的第一原则,我想删除它们。
但是,我在 UI 中找不到任何内容来批量删除它们。我也找不到配置来将它们配置为在一段时间后自动删除。
是否可以设置一段时间后自动删除?
【问题讨论】:
标签: github-actions
我有很多工作流程运行。尽管它们并没有打扰我,但由于lean software development(消除浪费)的第一原则,我想删除它们。
但是,我在 UI 中找不到任何内容来批量删除它们。我也找不到配置来将它们配置为在一段时间后自动删除。
是否可以设置一段时间后自动删除?
【问题讨论】:
标签: github-actions
是的,如果你去存储库设置 -> 操作有一段工件和日志保留您可以在其中配置日志将被删除多长时间。
【讨论】:
我使用这个脚本。另存为删除WorkflowRuns.sh在您的项目文件夹中。
org=<yourOrganizationOrUsername>
repo=<yourRepoNameAsInTheURL>
# Get workflow IDs with status "disabled_manually"
workflow_ids=($(gh api repos/$org/$repo/actions/workflows | jq '.workflows[] | select(.["state"] | contains("disabled_manually")) | .id'))
for workflow_id in "${workflow_ids[@]}"
do
echo "Listing runs for the workflow ID $workflow_id"
run_ids=( $(gh api repos/$org/$repo/actions/workflows/$workflow_id/runs --paginate | jq '.workflow_runs[].id') )
for run_id in "${run_ids[@]}"
do
echo "Deleting Run ID $run_id"
gh api repos/$org/$repo/actions/runs/$run_id -X DELETE >/dev/null
done
done
程序:
【讨论】: