webhook jinja2 does not work #3505

Closed
opened 2025-12-29 18:29:33 +01:00 by adam · 1 comment
Owner

Originally created by @andershagman on GitHub (Mar 25, 2020).

Environment

  • Python version: 3.6.9
  • NetBox version: 2.7.8

Steps to Reproduce

  1. Have a working webhook receiver.

  2. Make a webhook with a jinja2 body that trigger create, modify or delete IP addresses.
    Example body for extract gateway and mask part:
    {
    "data": {
    "gateway": "{{ data.address.network + 1 }}",
    "metmask": "{{ data.address.netmask }}"
    }
    }

  3. activate the webbook by adding an IP address.
    create -> 10.1.10.3/24

  4. Observe the sent data by using tshark.

Expected Behavior

{
"data": {
"network": "10.1.10.1",
"netmask": "255.255.255.0"
}
}

Observed Behavior

No key values are sent.
{
"data": {
"network": "",
"netmask": ""
}
}

Originally created by @andershagman on GitHub (Mar 25, 2020). <!-- NOTE: IF YOUR ISSUE DOES NOT FOLLOW THIS TEMPLATE, IT WILL BE CLOSED. This form is only for reproducible bugs. If you need assistance with NetBox installation, or if you have a general question, DO NOT open an issue. Instead, post to our mailing list: https://groups.google.com/forum/#!forum/netbox-discuss Please describe the environment in which you are running NetBox. Be sure that you are running an unmodified instance of the latest stable release before submitting a bug report. --> ### Environment * Python version: 3.6.9 * NetBox version: 2.7.8 <!-- Describe in detail the exact steps that someone else can take to reproduce this bug using the current stable release of NetBox (or the current beta release where applicable). Begin with the creation of any necessary database objects and call out every operation being performed explicitly. If reporting a bug in the REST API, be sure to reconstruct the raw HTTP request(s) being made: Don't rely on a wrapper like pynetbox. --> ### Steps to Reproduce 0. Have a working webhook receiver. 1. Make a webhook with a jinja2 body that trigger create, modify or delete IP addresses. Example body for extract gateway and mask part: { "data": { "gateway": "{{ data.address.network + 1 }}", "metmask": "{{ data.address.netmask }}" } } 2. activate the webbook by adding an IP address. create -> 10.1.10.3/24 3. Observe the sent data by using tshark. <!-- What did you expect to happen? --> ### Expected Behavior { "data": { "network": "10.1.10.1", "netmask": "255.255.255.0" } } <!-- What happened instead? --> ### Observed Behavior No key values are sent. { "data": { "network": "", "netmask": "" } }
adam closed this issue 2025-12-29 18:29:34 +01:00
Author
Owner

@jeremystretch commented on GitHub (Mar 27, 2020):

data.address is a string representation if the IPAddress' address field, not a netaddr object, so it doesn't have those methods available.

@jeremystretch commented on GitHub (Mar 27, 2020): `data.address` is a string representation if the IPAddress' `address` field, not a netaddr object, so it doesn't have those methods available.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#3505