|
1 |
| -# netbox-plugin-tutorial |
2 |
| -A tutorial on building custom plugins for NetBox v3.2+ |
| 1 | +# NetBox Plugin Development Tutorial |
| 2 | + |
| 3 | +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. |
| 4 | + |
| 5 | +A completed copy of the demo plugin created in this tutorial is available in the [`netbox-plugin-demo`](https://github.com/netbox-community/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. |
| 6 | + |
| 7 | +### Prerequisites |
| 8 | + |
| 9 | +Before attempting to create a plugin, please assess your personal ability. Plugin authors should have reasonable proficiency in the following: |
| 10 | + |
| 11 | +* Python programming |
| 12 | +* The [Django](https://www.djangoproject.com/) framework |
| 13 | +* REST API fundamentals (where applicable) |
| 14 | +* Installing, configuring, and using NetBox |
| 15 | + |
| 16 | +### Contents |
| 17 | + |
| 18 | +* [Step 1: Initial Setup](/tutorial/step01-initial-setup.md) (Start here!) |
| 19 | +* [Step 2: Models](/tutorial/step02-models.md) |
| 20 | +* [Step 3: Tables](/tutorial/step03-tables.md) |
| 21 | +* [Step 4: Forms](/tutorial/step04-forms.md) |
| 22 | +* [Step 5: Views](/tutorial/step05-views.md) |
| 23 | +* [Step 6: Templates](/tutorial/step06-templates.md) |
| 24 | +* [Step 7: Navigation](/tutorial/step07-navigation.md) |
| 25 | +* [Step 8: Filter Sets](/tutorial/step08-filter-sets.md) |
| 26 | +* [Step 9: REST API](/tutorial/step09-rest-api.md) |
| 27 | +* [Step 10: GraphQL API](/tutorial/step10-graphql.md) |
| 28 | + |
| 29 | +### Getting Help |
| 30 | + |
| 31 | +If you run into any snags working through the tutorial, please join us in the **#netbox** channel on the [NetDev Community Slack](https://netdev.chat/) for help. |
| 32 | + |
| 33 | +### Feedback and Issues |
| 34 | + |
| 35 | +If you happen to uncover an error or discrepancy in the tutorial, please be sure to [open an issue](https://github.com/netbox-community/netbox-plugin-tutorial/issues/new/choose) so that it can be documented and fixed. |
| 36 | + |
0 commit comments