57 lines
1.4 KiB
Bash
Executable File
57 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 配置信息
|
|
GITEA_URL="https://gitea.tailnet-68f9.ts.net"
|
|
OWNER="ben"
|
|
REPO="modelscope"
|
|
TOKEN="8d7d70f324796be650b79415303c31f567bf459b"
|
|
|
|
# 函数:获取所有工作流运行记录
|
|
function get_workflow_runs() {
|
|
local page=$1
|
|
local per_page=$2
|
|
|
|
curl -s -H "Authorization: token $TOKEN" \
|
|
"$GITEA_URL/api/v1/repos/$OWNER/$REPO/actions/runs?page=$page&per_page=$per_page"
|
|
}
|
|
|
|
# 函数:删除单个工作流运行记录
|
|
function delete_workflow_run() {
|
|
local run_id=$1
|
|
|
|
curl -s -X DELETE -H "Authorization: token $TOKEN" \
|
|
"$GITEA_URL/api/v1/repos/$OWNER/$REPO/actions/runs/$run_id"
|
|
}
|
|
|
|
# 主脚本
|
|
echo "开始删除工作流运行记录..."
|
|
|
|
# 获取第一页的工作流运行记录
|
|
response=$(get_workflow_runs 1 100)
|
|
|
|
# 提取所有运行记录的 ID
|
|
run_ids=$(echo $response | grep -o '"id":[0-9]*' | grep -o '[0-9]*')
|
|
|
|
# 检查是否有运行记录
|
|
if [ -z "$run_ids" ]; then
|
|
echo "没有找到工作流运行记录"
|
|
exit 0
|
|
fi
|
|
|
|
# 统计要删除的记录数
|
|
count=$(echo "$run_ids" | wc -w)
|
|
echo "找到 $count 条工作流运行记录,开始删除..."
|
|
|
|
# 批量删除每个运行记录
|
|
deleted=0
|
|
for run_id in $run_ids; do
|
|
echo "删除工作流运行记录 #$run_id..."
|
|
delete_workflow_run $run_id
|
|
deleted=$((deleted + 1))
|
|
|
|
# 添加短暂延迟,避免 API 速率限制
|
|
sleep 0.5
|
|
done
|
|
|
|
echo "删除完成!共删除了 $deleted 条工作流运行记录"
|