Fail to trigger webhook when script job is completed #407

Closed
opened 2026-04-05 16:30:03 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @pergus on 2/6/2026

NetBox Edition

NetBox Community

NetBox Version

v4.5.2

Python Version

3.12

Steps to Reproduce

  1. Create a simple webhook
  2. Create an Event Rule with:
  • Object Types: extras.script
  • Event Types: Job completed
  • Action Type: Webhook
  • Action Object: Select the webhook from step 1
  • No conditions, no action data
  1. Create a simple script:
from extras.scripts import Script  
  
class InfoLogger(Script):  
    class Meta:  
        name = "Infologger"  
        description = "Logs an info message to the log"  
      
    def run(self, data, commit):  
        self.log_info("Info log message")
  1. Run the script from the NetBox UI
  2. The Run Script Job Failed with error TypeError("'NoneType' object is not iterable")

Expected Behavior

The webhook should be sent successfully with the script job completed.

Observed Behavior

The Run Script Job Failed with error TypeError("'NoneType' object is not iterable")
And the worker logs the following:

14:52:51 default: handle(commit=True, data={}, job=<Job: Run Script>, request=<utilities.request.NetBoxFakeRequest object at 0x753dbbfa9550>) (8fc2a940-e170-41b3-a7e9-bae377ca26e8)
2026-02-06 14:52:51 [DEBUG] netbox.jobs.ScriptJob: Found ScriptModel ID 80
2026-02-06 14:52:51 [DEBUG] netbox.jobs.ScriptJob: Loaded script info_logger.InfoLogger
2026-02-06 14:52:51 [DEBUG] netbox.jobs.ScriptJob: Request ID: ea60935b-88fa-47a5-8981-0477cf7388f3
2026-02-06 14:52:51 [INFO] netbox.jobs.ScriptJob: Executing script (commit enabled)
2026-02-06 14:52:51 [INFO] netbox.scripts.info_logger.InfoLogger: Running script (commit=True)
2026-02-06 14:52:51 [INFO] netbox.scripts.info_logger.InfoLogger: Info log message
14:52:51 Worker 0a851151221748b1951f7b4e972cc6c4: job 8fc2a940-e170-41b3-a7e9-bae377ca26e8: exception raised while executing (handle)
Traceback (most recent call last):
  File "/home/pergus/netbox-integration/netbox/netbox/netbox/jobs.py", line 103, in handle
    job.terminate()
  File "/home/pergus/netbox-integration/netbox/netbox/core/models/jobs.py", line 247, in terminate
    job_end.send(self)
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/dispatch/dispatcher.py", line 189, in send
    response = receiver(signal=self, sender=sender, **named)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox/netbox/extras/signals.py", line 129, in process_job_end_event_rules
    process_event_rules(event_rules, sender.object_type, event)
  File "/home/pergus/netbox-integration/netbox/netbox/extras/events.py", line 143, in process_event_rules
    "username": event['username'],
                ~~~~~^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox/netbox/extras/events.py", line 37, in __getitem__
    return super().__getitem__(item)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/collections/__init__.py", line 1135, in __getitem__
    raise KeyError(key)
KeyError: 'username'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute
    return self.cursor.execute(sql, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/psycopg/cursor.py", line 117, in execute
    raise ex.with_traceback(None)
psycopg.errors.UniqueViolation: duplicate key value violates unique constraint "extras_notification_unique_per_object_and_user"
DETAIL:  Key (object_type_id, object_id, user_id)=(128, 31511, 1) already exists.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/rq/worker.py", line 1439, in perform_job
    return_value = job.perform()
                   ^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/rq/job.py", line 1318, in perform
    self._result = self._execute()
                   ^^^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/rq/job.py", line 1376, in _execute
    result = self.func(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox/netbox/netbox/jobs.py", line 110, in handle
    job.terminate(status=JobStatusChoices.STATUS_ERRORED, error=repr(e))
  File "/home/pergus/netbox-integration/netbox/netbox/core/models/jobs.py", line 244, in terminate
    ).save()
      ^^^^^^
  File "/home/pergus/netbox-integration/netbox/netbox/extras/models/notifications.py", line 107, in save
    super().save(*args, **kwargs)
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/base.py", line 902, in save
    self.save_base(
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/base.py", line 1008, in save_base
    updated = self._save_table(
              ^^^^^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/base.py", line 1169, in _save_table
    results = self._do_insert(
              ^^^^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/base.py", line 1210, in _do_insert
    return manager._insert(
           ^^^^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/query.py", line 1873, in _insert
    return query.get_compiler(using=using).execute_sql(returning_fields)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 1882, in execute_sql
    cursor.execute(sql, params)
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 122, in execute
    return super().execute(sql, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 79, in execute
    return self._execute_with_wrappers(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers
    return executor(sql, params, many, context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 100, in _execute
    with self.db.wrap_database_errors:
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/utils.py", line 91, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute
    return self.cursor.execute(sql, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/psycopg/cursor.py", line 117, in execute
    raise ex.with_traceback(None)
django.db.utils.IntegrityError: duplicate key value violates unique constraint "extras_notification_unique_per_object_and_user"
DETAIL:  Key (object_type_id, object_id, user_id)=(128, 31511, 1) already exists.
*Originally created by @pergus on 2/6/2026* ### NetBox Edition NetBox Community ### NetBox Version v4.5.2 ### Python Version 3.12 ### Steps to Reproduce 1. Create a simple webhook 2. Create an Event Rule with: - Object Types: extras.script - Event Types: Job completed - Action Type: Webhook - Action Object: Select the webhook from step 1 - No conditions, no action data 3. Create a simple script: ```python from extras.scripts import Script class InfoLogger(Script): class Meta: name = "Infologger" description = "Logs an info message to the log" def run(self, data, commit): self.log_info("Info log message") ``` 4. Run the script from the NetBox UI 5. The Run Script Job Failed with error TypeError("'NoneType' object is not iterable") ### Expected Behavior The webhook should be sent successfully with the script job completed. ### Observed Behavior The Run Script Job Failed with error TypeError("'NoneType' object is not iterable") And the worker logs the following: ```python 14:52:51 default: handle(commit=True, data={}, job=<Job: Run Script>, request=<utilities.request.NetBoxFakeRequest object at 0x753dbbfa9550>) (8fc2a940-e170-41b3-a7e9-bae377ca26e8) 2026-02-06 14:52:51 [DEBUG] netbox.jobs.ScriptJob: Found ScriptModel ID 80 2026-02-06 14:52:51 [DEBUG] netbox.jobs.ScriptJob: Loaded script info_logger.InfoLogger 2026-02-06 14:52:51 [DEBUG] netbox.jobs.ScriptJob: Request ID: ea60935b-88fa-47a5-8981-0477cf7388f3 2026-02-06 14:52:51 [INFO] netbox.jobs.ScriptJob: Executing script (commit enabled) 2026-02-06 14:52:51 [INFO] netbox.scripts.info_logger.InfoLogger: Running script (commit=True) 2026-02-06 14:52:51 [INFO] netbox.scripts.info_logger.InfoLogger: Info log message 14:52:51 Worker 0a851151221748b1951f7b4e972cc6c4: job 8fc2a940-e170-41b3-a7e9-bae377ca26e8: exception raised while executing (handle) Traceback (most recent call last): File "/home/pergus/netbox-integration/netbox/netbox/netbox/jobs.py", line 103, in handle job.terminate() File "/home/pergus/netbox-integration/netbox/netbox/core/models/jobs.py", line 247, in terminate job_end.send(self) File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/dispatch/dispatcher.py", line 189, in send response = receiver(signal=self, sender=sender, **named) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox/netbox/extras/signals.py", line 129, in process_job_end_event_rules process_event_rules(event_rules, sender.object_type, event) File "/home/pergus/netbox-integration/netbox/netbox/extras/events.py", line 143, in process_event_rules "username": event['username'], ~~~~~^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox/netbox/extras/events.py", line 37, in __getitem__ return super().__getitem__(item) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/collections/__init__.py", line 1135, in __getitem__ raise KeyError(key) KeyError: 'username' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute return self.cursor.execute(sql, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/psycopg/cursor.py", line 117, in execute raise ex.with_traceback(None) psycopg.errors.UniqueViolation: duplicate key value violates unique constraint "extras_notification_unique_per_object_and_user" DETAIL: Key (object_type_id, object_id, user_id)=(128, 31511, 1) already exists. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/rq/worker.py", line 1439, in perform_job return_value = job.perform() ^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/rq/job.py", line 1318, in perform self._result = self._execute() ^^^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/rq/job.py", line 1376, in _execute result = self.func(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox/netbox/netbox/jobs.py", line 110, in handle job.terminate(status=JobStatusChoices.STATUS_ERRORED, error=repr(e)) File "/home/pergus/netbox-integration/netbox/netbox/core/models/jobs.py", line 244, in terminate ).save() ^^^^^^ File "/home/pergus/netbox-integration/netbox/netbox/extras/models/notifications.py", line 107, in save super().save(*args, **kwargs) File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/base.py", line 902, in save self.save_base( File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/base.py", line 1008, in save_base updated = self._save_table( ^^^^^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/base.py", line 1169, in _save_table results = self._do_insert( ^^^^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/base.py", line 1210, in _do_insert return manager._insert( ^^^^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/query.py", line 1873, in _insert return query.get_compiler(using=using).execute_sql(returning_fields) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 1882, in execute_sql cursor.execute(sql, params) File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 122, in execute return super().execute(sql, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 79, in execute return self._execute_with_wrappers( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers return executor(sql, params, many, context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 100, in _execute with self.db.wrap_database_errors: File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/utils.py", line 91, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute return self.cursor.execute(sql, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/pergus/netbox-integration/netbox-int-venv/lib/python3.12/site-packages/psycopg/cursor.py", line 117, in execute raise ex.with_traceback(None) django.db.utils.IntegrityError: duplicate key value violates unique constraint "extras_notification_unique_per_object_and_user" DETAIL: Key (object_type_id, object_id, user_id)=(128, 31511, 1) already exists. ```
MrUnknownDE added the status: acceptedseverity: mediumnetboxstatus: acceptedtype: bugstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptednetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxseverity: mediumseverity: mediumseverity: mediumseverity: mediumseverity: mediumseverity: mediumseverity: mediumseverity: mediumtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bugtype: bug labels 2026-04-05 16:30:10 +02:00
Sign in to join this conversation.
No Label netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox severity: medium severity: medium severity: medium severity: medium severity: medium severity: medium severity: medium severity: medium severity: medium status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug type: bug
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/netbox#407