gogmilestone.py 954 B

123456789101112131415161718192021222324252627282930313233343536
  1. from flask import Flask, request, jsonify
  2. app = Flask(__name__)
  3. @app.route('/webhook', methods=['POST'])
  4. def handle_webhook():
  5. if request.method != 'POST':
  6. return 'Invalid request method', 405
  7. try:
  8. payload = request.get_json()
  9. if not payload:
  10. return 'Invalid JSON payload', 400
  11. repo = payload.get('repository', {}).get('name')
  12. pusher = payload.get('pusher', {}).get('name')
  13. before = payload.get('before')
  14. after = payload.get('after')
  15. print(f"Webhook received from repo: {repo} by {pusher}")
  16. print(f"Commit: {before} -> {after}")
  17. return jsonify({'status': 'success'}), 200
  18. except Exception as e:
  19. print(f"Error: {e}")
  20. return 'Internal server error', 500
  21. @app.before_request
  22. def log_request():
  23. print(f"Incoming request: {request.method} {request.url}")
  24. if __name__ == '__main__':
  25. app.run(host='0.0.0.0', port=4000)