Skip to content

Extend webhooks to support basic conditional logic #6238

@jeremystretch

Description

@jeremystretch

NetBox version

v2.11.1

Feature type

New functionality

Proposed functionality

Extend the Webhook model to support the attachment of arbitrary conditions that control whether a webhook fires. These attributes could be specified in a manner similar to how object permission constraints are defined.

For example, suppose we create a webhook for the IPAddress model, but we only want it to fire if the IP address is within 10.0.0.0/8. We could specify something like the following on the webhook:

{"address__net_contained": "10.0.0.0/8"}

(The net_contained lookup is used to specify a containing prefix.)

Use case

Eliminates many of the simpler use cases that currently require a middleware by handling basic conditional logic. The intent here is not to solve complex problems, but rather to expedite simplistic use cases where we only want to fire a webhook if an object meets certain conditions.

Database changes

Add a new JSON field (conditions?) to the Webhook model

External dependencies

No response

Metadata

Metadata

Assignees

Labels

status: acceptedThis issue has been accepted for implementationtype: featureIntroduction of new functionality to the application

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions