#!/bin/bash # 配置信息 GITEA_URL="https://gitea.tailnet-68f9.ts.net" OWNER="ben" REPO="modelscope" TOKEN="8d7d70f324796be650b79415303c31f567bf459b" # 要删除的工作流 ID 列表 workflow_ids=(39 35 24) # 函数:删除单个工作流运行记录 function delete_workflow_run() { local run_id=$1 echo "尝试删除工作流 #$run_id..." response=$(curl -s -X DELETE -H "Authorization: token $TOKEN" \ "$GITEA_URL/api/v1/repos/$OWNER/$REPO/actions/runs/$run_id") echo "结果: $response" echo "" } # 主脚本 echo "=== 工作流运行记录清理工具 ===" echo "" echo "开始删除指定的工作流运行记录..." echo "----------------------------------------" # 批量删除每个运行记录 for run_id in "${workflow_ids[@]}"; do delete_workflow_run $run_id # 添加短暂延迟,避免 API 速率限制 sleep 1 done echo "----------------------------------------" echo "删除操作完成!" echo "" # 再次检查是否还有剩余记录 echo "检查是否还有剩余记录..." final_response=$(curl -s -H "Authorization: token $TOKEN" \ "$GITEA_URL/api/v1/repos/$OWNER/$REPO/actions/runs?per_page=50") final_count=$(echo $final_response | grep -o '"total_count":[0-9]*' | grep -o '[0-9]*') echo "当前剩余工作流运行记录数:$final_count" if [ "$final_count" -gt 0 ]; then echo "注意:仍有 $final_count 条记录未删除,可能是因为它们正在运行中或有权限问题。" echo "请稍后再试,或通过 Gitea 网页界面手动删除。" else echo "所有工作流运行记录已成功删除!" fi