Files
sanguo_quant_live/management/workflow/scripts/assign_simple.sh
T

46 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# 极简分配脚本 - 最终修复版
# 修复:先stash再创建文件,避免新文件被stash
if [ $# -lt 2 ]; then
echo "使用方法: ./assign_simple.sh <任务ID> <负责人>"
echo "例如: ./assign_simple.sh TASK-20260322175034 pangtong"
exit 1
fi
TASK_ID="$1"
AGENT="$2"
PENDING_FILE="management/tasks/pending/${TASK_ID}.md"
ASSIGNED_FILE="management/tasks/assigned/${TASK_ID}.md"
AGENT_FILE="management/agents/${AGENT}/${TASK_ID}.task"
# 自动处理git冲突 - 先stash本地未提交的修改
git stash push -q > /dev/null 2>&1
# 确保Agent目录存在
mkdir -p "management/agents/${AGENT}"
mkdir -p management/tasks/assigned
# 复制任务文件
cp "$PENDING_FILE" "$ASSIGNED_FILE"
# 更新状态
sed -i '' "s/# 状态: pending/# 状态: assigned/" "$ASSIGNED_FILE"
sed -i '' "s/# 负责人:.*/# 负责人: $AGENT/" "$ASSIGNED_FILE"
# 创建.task文件通知Agent
cp "$PENDING_FILE" "$AGENT_FILE"
# 添加到git并推送
git add "$PENDING_FILE" "$ASSIGNED_FILE" "$AGENT_FILE" > /dev/null 2>&1
git commit -m "feat: 分配任务 $TASK_ID$AGENT" > /dev/null 2>&1
git push origin main > /dev/null 2>&1
# 恢复本地修改,如果失败就丢弃stash
git stash pop -q > /dev/null 2>&1 || git stash drop -q > /dev/null 2>&1
echo "✅ 任务已分配给 $AGENT"
echo "📄 任务文件: $ASSIGNED_FILE"
echo "📬 通知文件: $AGENT_FILE"
echo "🌐 已推送到 Gitee"