From 41eff5c4c395af476947c668c184e922c32f15b1 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 18 Jul 2024 15:56:45 -0400 Subject: [PATCH] Add Event documentation --- docs/plugins/development/events.md | 15 ++++++++++++++- netbox/netbox/events.py | 9 +++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/docs/plugins/development/events.md b/docs/plugins/development/events.md index 48df748aa..f41ed7ff5 100644 --- a/docs/plugins/development/events.md +++ b/docs/plugins/development/events.md @@ -1,3 +1,16 @@ # Events -TODO +Plugins can register their own custom event types for use with NetBox [event rules](../../models/extras/eventrule.md). This is accomplished by calling the `register()` method on an instance of the `Event` class. This can be done anywhere within the plugin. An example is provided below. + +```python +from django.utils.translation import gettext_lazy as _ +from netbox.events import Event, EVENT_TYPE_SUCCESS + +Event( + name='ticket_opened', + text=_('Ticket opened'), + type=EVENT_TYPE_SUCCESS +).register() +``` + +::: netbox.events.Event diff --git a/netbox/netbox/events.py b/netbox/netbox/events.py index e7613dfef..ee2561720 100644 --- a/netbox/netbox/events.py +++ b/netbox/netbox/events.py @@ -37,6 +37,15 @@ def get_event_type_choices(): @dataclass class Event: + """ + A type of event which can occur in NetBox. Event rules can be defined to automatically + perform some action in response to an event. + + Args: + name: The unique name under which the event is registered. + text: The human-friendly event name. This should support translation. + type: The event's classification (info, success, warning, or danger). The default type is info. + """ name: str text: str type: str = EVENT_TYPE_INFO