From 08ccd150c864f79a7d081fc2e4d176c9150cdfe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=9B=9E=E9=A3=8E?= Date: Mon, 15 Jul 2019 09:43:39 +0800 Subject: [PATCH] Add Advanced Usage Advanced Usage about endpoint and secret setting is also necessary. --- README.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/README.md b/README.md index 0f321c9..f816e3e 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,45 @@ if __name__ == "__main__": app.run(host="0.0.0.0", port=80) ``` +## Advanced Usage: + +``` +import os +from github_webhook import Webhook +from flask import Flask + +app = Flask(__name__) # Standard Flask app +webhook = Webhook(app, endpoint="/postreceive", secret='postreceivesecret') # Defines '/postreceive' endpoint + +@app.route("/") # Standard Flask endpoint +def hello_world(): + return "Hello, World!" + +@webhook.hook() # Defines a handler for the 'push' event +def on_push(data): + #print("Got push with: {0}".format(data)) + print(os.popen("sh ~/webhook.sh").read()) + +if __name__ == "__main__": + try: + port_number = int(sys.argv[1]) + except: + port_number = 8888 + app.run(host="0.0.0.0", port=port_number, debug=False) +``` + +If code is `webhook = Webhook(app, endpoint="/postreceive", secret='postreceivesecret')` and `port_number = 8888`: +Payload URL settting is resemble: http://yourwebsite:8888/postreceive +Secret settting is `postreceivesecret` + +If with no secret setting: +`webhook = Webhook(app, endpoint="/postreceive")` + + +If code is `webhook = Webhook(app)`: +it'll use default way: `/postreceive` + + ## License The `python-github-webhook` repository is distributed under the Apache License (version 2.0);