#!/bin/bash # 配置信息 GITEA_URL="https://gitea.tailnet-68f9.ts.net" OWNER="ben" REPO="modelscope" TOKEN="8d7d70f324796be650b79415303c31f567bf459b" # 函数:获取所有工作流运行记录 function get_workflow_runs() { curl -s -H "Authorization: token $TOKEN" \ "$GITEA_URL/api/v1/repos/$OWNER/$REPO/actions/runs?per_page=50" } # 函数:删除单个工作流运行记录 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 "" # 获取当前工作流运行记录 response=$(get_workflow_runs) # 提取所有运行记录的 ID run_ids=$(echo $response | grep -o '"id":[0-9]*' | grep -o '[0-9]*') # 检查是否有运行记录 if [ -z "$run_ids" ]; then echo "没有找到工作流运行记录" exit 0 fi # 显示当前运行记录 echo "找到以下工作流运行记录:" echo "----------------------------------------" echo "$run_ids" echo "----------------------------------------" # 批量删除每个运行记录 deleted=0 for run_id in $run_ids; do delete_workflow_run $run_id deleted=$((deleted + 1)) # 添加短暂延迟,避免 API 速率限制 sleep 1 done echo "----------------------------------------" echo "删除操作完成!" echo "共删除了 $deleted 条工作流运行记录"