#!/bin/bash echo "=== Woodpecker CI Webhook 诊断 ===" echo "" echo "1. 检查 Forgejo Webhook 配置..." echo " Webhook URL: https://ci.f.novalon.cn/api/hook?access_token=..." echo " Content Type: application/json" echo " Trigger: push" echo "" echo "2. 检查 Woodpecker CI 期望的 Header..." echo " X-Gitea-Event: push" echo " X-Gitea-Delivery: " echo " X-Gitea-Signature: " echo "" echo "3. 检查 Nginx 配置..." docker exec novalon-nginx cat /etc/nginx/conf.d/ci.f.novalon.cn.conf | grep -A 15 "location /api/" echo "" echo "4. 测试 Webhook 接收..." echo " 发送测试 webhook..." curl -X POST \ -H "Content-Type: application/json" \ -H "X-Gitea-Event: push" \ -H "X-Gitea-Delivery: test-123" \ -d '{"ref":"refs/heads/test"}' \ "https://ci.f.novalon.cn/api/hook?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb3JnZS1pZCI6IjEiLCJyZXBvLWZvcmdlLXJlbW90ZS1pZCI6IjEiLCJ0eXBlIjoiaG9vayJ9.gu3mi1VAQfGB3d9HcuwWmMAcf-0BmmvQyGjqdiC20dA" \ -v 2>&1 | grep -E "(< HTTP|X-Gitea|hook)" echo "" echo "5. 检查 Woodpecker CI 日志..." docker logs woodpecker-server --since 10s 2>&1 | grep -E "(hook|event|push)" echo "" echo "=== 诊断完成 ==="