diff --git a/addons/cetmix_tower_webhook/static/description/index.html b/addons/cetmix_tower_webhook/static/description/index.html new file mode 100644 index 0000000..c670c12 --- /dev/null +++ b/addons/cetmix_tower_webhook/static/description/index.html @@ -0,0 +1,549 @@ + + + + + +Cetmix Tower Webhook + + + +
+

Cetmix Tower Webhook

+ + +

Beta License: AGPL-3 cetmix/cetmix-tower

+

This module implements incoming webhooks for Cetmix +Tower. Webhooks are authorised using +customisable authenticators which can be pre-configured and reused +across multiple webhooks. Webhooks and authenticators can be exported +and imported using YAML format, which makes them easily sharable.

+

This module is a part of Cetmix Tower, however it can be used to manage +any other odoo applications.

+

Please refer to the official +documentation for detailed information.

+

Table of contents

+
+ +
+
+

Use Cases / Context

+

Although Odoo has native support of webhooks staring 17.0, they still +have some limitations. Another option is the OCA ‘endpoint’ module which +although is more flexible still makes it usable with Cetmix Tower more +complicated.

+
+
+

Configuration

+
+

Configure an Authenticator

+

⚠️ WARNING: You must be a member of the “Cetmix Tower/Root” group to +configure authenticators.

+
    +
  • Go to “Cetmix Tower > Settings > Automation > Webhook Authenticators” +and click “New”.
  • +
+

Complete the following fields:

+
    +
  • Name. Authenticator name
  • +
  • Reference. Unique reference. Leave this field blank to auto generate +it
  • +
  • Code. Code that is used to authenticate the request. You can use all +Cetmix Tower - Python command variables except for the server​ plus the +following webhook specific ones:
  • +
  • headers: dictionary that contains the request headers
  • +
  • raw_data: string with the raw HTTP request body
  • +
  • payload: dictionary that contains the JSON payload or the GET +parameters of the request
  • +
+

The code returns the result​ variable in the following format:

+
+result = {"allowed": <bool, mandatory, default=False>, "http_code": <int, optional>, "message": <str, optional>}
+
+

eg:

+
+result = {"allowed": True}
+result = {"allowed": False, "http_code": 403, "message": "Sorry..."}
+
+
+
+

Configure a Webhook

+

⚠️ WARNING: You must be a member of the “Cetmix Tower/Root” group to +configure webhooks.

+
    +
  • Go to “Cetmix Tower > Settings > Automation > Webhooks” and click +“New”.
  • +
+

Complete the following fields:

+
    +
  • Enabled. Uncheck this field to disable the webhook without deleting it
  • +
  • Name. Authenticator name
  • +
  • Reference. Unique reference. Leave this field blank to auto generate +it
  • +
  • Authenticator. Select an Authenticator used for this webhook
  • +
  • Endpoint. Webhook andpoint. The complete webhook URL will be +<your_tower_url>/cetmix_tower_webhooks/​
  • +
  • Run as User. Select a user to run the webhook on behalf of. CAREFUL! +You must realize and understand what you are doing, including all the +possible consequences when selecting a specific user.
  • +
  • Code. Code that processes the request. You can use all Cetmix Tower +Python command variables (except for the server) plus the following +webhook-specific one:
      +
    • headers: dictionary that contains the request headers
    • +
    • payload: dictionary that contains the JSON payload or the GET +parameters of the request
    • +
    +
  • +
+

Webhook code returns a result using the Cetmix Tower Python command +pattern:

+
+result = {"exit_code": <int, default=0>, "message": <string, default=None}
+
+

To configure the time for which the webhook call logs are stored:

+
    +
  • Go to “Cetmix Tower > Settings > General Settings”
  • +
  • Put a number of days into the “Keep Webhook Logs for (days)” field. +Default value is 30.
  • +
+

Please refer to the official +documentation for detailed configuration +instructions.

+
+
+
+

Usage

+

When a request is received, Cetmix Tower will search for the webhook +with the matching endpoint and authenticate the request using the +selected authenticator. In case of successful authentication webhook +code is run. Each webhook call is logged. Logs are available under the +“Cetmix Tower > Logs > Webhook Calls” menu or under the “Logs” button +directly in the Webhook.

+

Please refer to the official +documentation for detailed usage +instructions.

+
+
+

Changelog

+
+

16.0.1.0.4 (2025-12-11)

+
    +
  • Features: Improve search views, implement the search panel for +selected views. (5139)
  • +
+
+
+

16.0.1.0.3 (2025-10-21)

+
    +
  • Features: Use native functions to convert payload to dict (5024)
  • +
+
+
+

16.0.1.0.2 (2025-10-06)

+
    +
  • Bugfixes: Export related variables and secrets (4980)
  • +
+
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Cetmix
  • +
+
+
+

Maintainers

+

This module is part of the cetmix/cetmix-tower project on GitHub.

+

You are welcome to contribute.

+
+
+
+ +