Compare commits

...

4 Commits

Author SHA1 Message Date
3f4185589d
Merge pull request #1 from okatu-loli/main
feat: 新增飞书通知支持
2025-01-04 18:35:02 +08:00
千石
094fb11580
Update main.sh 2025-01-04 11:14:58 +08:00
千石
8a952a941b
Update config.sh 2025-01-04 11:13:00 +08:00
千石
ae4c4070da
Create feishu_notify.sh 2025-01-04 11:12:27 +08:00
3 changed files with 61 additions and 1 deletions

View File

@ -22,6 +22,10 @@ SMTP_PASS=${SMTP_PASS:-""}
MAIL_TO=${MAIL_TO:-""} MAIL_TO=${MAIL_TO:-""}
MAIL_FROM=${MAIL_FROM:-"$SMTP_USER"} MAIL_FROM=${MAIL_FROM:-"$SMTP_USER"}
# 飞书通知配置
ENABLE_FEISHU=${ENABLE_FEISHU:-"false"}
FEISHU_WEBHOOK_URL=${FEISHU_WEBHOOK_URL:-""}
# 跳过的仓库 # 跳过的仓库
SKIP_REPOS=${SKIP_REPOS:-"archive,AutoApiSecret, \ SKIP_REPOS=${SKIP_REPOS:-"archive,AutoApiSecret, \
backup-openbilibili-go-common, \ backup-openbilibili-go-common, \

43
feishu_notify.sh Normal file
View File

@ -0,0 +1,43 @@
#!/bin/bash
# 参数获取
WEBHOOK_URL="$1"
TITLE="$2"
CONTENT="$3"
# 飞书通知
send_feishu_notification() {
local message=$(cat <<EOF
{
"msg_type": "post",
"content": {
"post": {
"zh_cn": {
"title": "$TITLE",
"content": [
[
{
"tag": "text",
"text": "$CONTENT"
}
]
]
}
}
}
}
EOF
)
curl -s -X POST "$WEBHOOK_URL" -H "Content-Type: application/json" -d "$message"
}
# 主函数
main() {
if [ -z "$WEBHOOK_URL" ] || [ -z "$TITLE" ] || [ -z "$CONTENT" ]; then
echo "错误: 缺少必要的飞书通知参数"
exit 1
fi
send_feishu_notification
}
main "$@"

13
main.sh
View File

@ -111,6 +111,19 @@ $(cat "$LOG_FILE")
"$summary" "$summary"
fi fi
# 准备飞书通知内容
feishu_title="GitHub 同步$([ $mirror_exit_code -eq 0 ] && echo "成功" || echo "失败")"
feishu_content="GitHub to Gitea 同步报告\n\n$(tail -n 50 "$LOG_FILE")"
# 如果启用了飞书通知,调用 feishu_notify.sh
if [ "$ENABLE_FEISHU" = "true" ]; then
bash "$SCRIPT_DIR/feishu_notify.sh" \
"$FEISHU_WEBHOOK_URL" \
"$feishu_title" \
"$feishu_content"
fi
# 清理工作目录 # 清理工作目录
[ -d "$WORK_DIR" ] && rm -rf "$WORK_DIR" [ -d "$WORK_DIR" ] && rm -rf "$WORK_DIR"