/netbox-plugin-tutorial

A tutorial on building custom plugins for NetBox v3.2+

NetBox Plugin Development Tutorial

This guide seeks to demonstrate the process of developing a custom plugin for NetBox v3.2 or later. By following each of the prescribed steps, the reader will create from scratch a simple plugin for managing access lists in NetBox, utilizing all major components of the NetBox plugin framework.

A completed copy of the demo plugin created in this tutorial is available in the netbox-plugin-demo repository for reference. For your convenience, the completed code corresponding to each step in the tutorial exists as a named branch in the demo repo. For example, if you want to start fresh on step 5, simply check out the step04-forms branch.

Prerequisites

Before attempting to create a plugin, please assess your personal ability. Plugin authors should have reasonable proficiency in the following:

  • Python programming
  • The Django framework
  • REST API fundamentals (where applicable)
  • Installing, configuring, and using NetBox

Contents

Reference

Getting Help

If you run into any snags working through the tutorial, please join us in the #netbox channel on the NetDev Community Slack for help.

Feedback and Issues

If you happen to uncover an error or discrepancy in the tutorial, please be sure to open an issue so that it can be documented and fixed.