from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/webhook', methods=['POST']) def handle_webhook(): if request.method != 'POST': return 'Invalid request method', 405 try: payload = request.get_json() if not payload: return 'Invalid JSON payload', 400 repo = payload.get('repository', {}).get('name') pusher = payload.get('pusher', {}).get('name') before = payload.get('before') after = payload.get('after') print(f"Webhook received from repo: {repo} by {pusher}") print(f"Commit: {before} -> {after}") return jsonify({'status': 'success'}), 200 except Exception as e: print(f"Error: {e}") return 'Internal server error', 500 @app.before_request def log_request(): print(f"Incoming request: {request.method} {request.url}") if __name__ == '__main__': app.run(host='0.0.0.0', port=4000)