TIP: You can type at any time to perform a new search.
Webhook
webhook · OCA/server-tools
- Repository
- OCA/server-tools · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Server Tools
- Folder size
- 0.37 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://www.vauxoo.com
- Last tracking update
- 2026-08-07 07:17:48
- Authors
- Vauxoo, Odoo Community Association (OCA)
- Maintainers
- Vauxoo, Odoo Community Association (OCA)
- Committers
- Jairo Llopis, Stéphane Bidoul (ACSONE), Weblate, OCA Transbot, OCA-git-bot, oca-travis
Code Analysis ⓘ
Views touched (2)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_webhook_form |
view.webhook.form | webhook | form | New |
view_webhook_tree |
view.webhook.tree | webhook | tree | New |
HTTP endpoints (1)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/webhook/<webhook_name> |
WebhookController.webhook |
none | json | ALL | sudo |
Models touched (2)
New fields (5)
-
activeBooleandefault=True -
address_idsOne2many → webhook.addresshelp='This address will be filter to know who is consumer webhook'required=True args: 'webhook.address', 'webhook_id', 'IP or Network Address' -
nameCharhelp='Name of your consumer webhook. This name will be used in named of event methods'required=True args: 'Consumer name' -
python_code_get_eventTextdefault='# You can use object.env.request variable to get full data of webhook request.\n# Example:\n#request.httprequest.headers.get("X-Github-Event")'help='Python code to get event from request data.\nYou have object.env.request variable with full webhook request.'required=True args: 'Get event' -
python_code_get_ipTextdefault='# You can use object.env.request variable to get full data of webhook request.\n# Example:\n#object.env.request.httprequest.remote_addr\nrequest.httprequest.remote_addr'help='Python code to get remote IP address from request data.\nYou have object.env.request variable with full webhook request.'required=True args: 'Get IP'
-
get_event_methods(self, event_method_base)@api.modelList all methods of current object that start with base name. e.g. if exists methods called 'x1', 'x2' and other ones called 'y1', 'y2' if you have event_method_base='x' Then will return ['x1', 'x2'] :param string event_method_base: Name of method event base returns: List of methods with that start wtih method base -
get_ping_events(self)@api.modelList all name of event type ping. This event is a dummy event just to know if a provider is working. :return: List with names of ping events -
is_address_range(self, remote_address)@api.multiCheck if a remote IP address is in range of one IP or network address of current object data. :param string remote_address: Remote IP address :return: if remote address match then return True else then return False -
process_python_code(self, python_code, request=None)@api.multiExecute a python code with eval. :param string python_code: Python code to process :param object request: Request object with data of json and http request :return: Result of process python code. -
run_webhook(self, request)@api.multiRun methods to process a webhook event. Get all methods with base name 'run_CONSUMER_EVENT*' Invoke all methods found. :param object request: Request object with data of json and http request :return: True -
search_with_request(self, request)@api.modelMethod to search of all webhook and return only one that match with remote address and range of address. :param object request: Request object with data of json and http request :return: object of webhook found or if not found then return False
New fields (2)
-
nameCharhelp='IP or network address of your consumer webhook:\nip address e.g.: 10.10.0.8\nnetwork address e.g. of: 10.10.0.8/24'required=True args: 'IP or Network Address' -
webhook_idMany2one → webhookondelete='cascade'required=True args: 'webhook', 'Webhook'
No public methods.