{"id":43925456,"url":"https://github.com/jasonyates/netbox-circuitmaintenance","last_synced_at":"2026-02-06T23:05:53.301Z","repository":{"id":65334912,"uuid":"589251731","full_name":"jasonyates/netbox-circuitmaintenance","owner":"jasonyates","description":"Netbox plugin to track maintenance events against circuits","archived":false,"fork":false,"pushed_at":"2025-09-08T19:55:47.000Z","size":18955,"stargazers_count":69,"open_issues_count":11,"forks_count":9,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-12-26T22:34:17.893Z","etag":null,"topics":["circuit","netbox","netbox-plugin","network","plugin","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jasonyates.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-15T15:24:40.000Z","updated_at":"2025-12-04T11:19:00.000Z","dependencies_parsed_at":"2024-11-19T01:43:29.588Z","dependency_job_id":null,"html_url":"https://github.com/jasonyates/netbox-circuitmaintenance","commit_stats":{"total_commits":18,"total_committers":2,"mean_commits":9.0,"dds":"0.11111111111111116","last_synced_commit":"73e8593cfc044acee5b2c2593c9423d12ddaaec1"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/jasonyates/netbox-circuitmaintenance","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasonyates%2Fnetbox-circuitmaintenance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasonyates%2Fnetbox-circuitmaintenance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasonyates%2Fnetbox-circuitmaintenance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasonyates%2Fnetbox-circuitmaintenance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jasonyates","download_url":"https://codeload.github.com/jasonyates/netbox-circuitmaintenance/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasonyates%2Fnetbox-circuitmaintenance/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29179596,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T22:12:24.066Z","status":"ssl_error","status_checked_at":"2026-02-06T22:12:09.859Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["circuit","netbox","netbox-plugin","network","plugin","python"],"created_at":"2026-02-06T23:05:53.241Z","updated_at":"2026-02-06T23:05:53.294Z","avatar_url":"https://github.com/jasonyates.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Netbox Circuit Maintenance Plugin\n\nDocumentation: [https://jasonyates.github.io/netbox-circuitmaintenance/](https://jasonyates.github.io/netbox-circuitmaintenance/)\n\nA NetBox plugin built to track circuit maintenance events, the plugin itself is agnostic in that it is only built to store data surrounding maintenance events and provide an overview of historical, active and upcoming circuit and provider maintenance events. The plugin tracks maintenance events at the provider level and associates impact from each event at the circuit level.\n\nThe plugin does not directly provide an automated approach to ingesting provider notifications, instead it extends NetBox's extensive REST API and provides GET/POST/PUT/PATCH methods to manage maintenance events. The plugin is intended to be coupled with an automated parser to handle the parsing of provider notifications and the delivery of the maintenance events to the plugin's REST API. Several example parsers have been documented [here](https://jasonyates.github.io/netbox-circuitmaintenance/parsers/).\n\n## Features\n\n - Track provider maintenance events\n - Track circuit impact from provider maintenance\n - Provides a consolidated view of active, upcoming and historical maintenance events at the provider and circuit level\n - Consolidated notifications (coming soon)\n - Maintenance overlap detection (coming soon)\n\n## Compatibility\nThis plugin is only supported on NetBox 3.4 or higher, for exact compatibility information, see the table below.  \n| NetBox Version | Plugin Version |\n|--|--|\n| 4.4+ | 0.6.0 |\n| 4.2+ | 0.5.0 |\n| 4.0+ | 0.4.2 |\n| 3.5 | 0.3.0 |\n| 3.4 | 0.2.2 |\n\n\n\n## Installing\n\nA working installation of Netbox 3.4+ is required - [see official documentation](https://netbox.readthedocs.io/en/stable/plugins/).\n\n### Package Installation\n\nActivate your virtual env and install via pip::\n\n```bash\n$ source /opt/netbox/venv/bin/activate\n(venv) $ pip install netbox-circuitmaintenance\n```\n\nTo ensure the Netbox Documents plugin is automatically re-installed during future upgrades, add the package to your `local_requirements.txt` :\n\n```bash\n# echo netbox-circuitmaintenance \u003e\u003e local_requirements.txt\n```\n\n### Enable the Plugin\n\nIn the Netbox `configuration.py` configuration file add or update the PLUGINS parameter, adding `netbox_circuitmaintenance`:\n\n\n```python\nPLUGINS = [\n    'netbox_circuitmaintenance'\n]\n\nPLUGINS_CONFIG = {\n    \"netbox_circuitmaintenance\": {},\n}\n```\n\n### Apply Database Migrations\n\nApply database migrations with Netbox `manage.py`:\n\n```\n(venv) $ python manage.py migrate\n```\n\n### Restart Netbox\n\nRestart the Netbox service to apply changes:\n\n```\nsudo systemctl restart netbox\n```\n\n## Screenshots\n\n![Maintenance Event View](docs/img/maintenance.png)\n![Circuit Maintenance View](docs/img/circuit_maintenance.png)\n![Provider Maintenance View](docs/img/provider_maintenance.png)\n\n\n## Credits\n\nBased on the NetBox plugin tutorial:\n\n- [demo repository](https://github.com/netbox-community/netbox-plugin-demo)\n- [tutorial](https://github.com/netbox-community/netbox-plugin-tutorial)\n\nThis package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter) and the [`netbox-community/cookiecutter-netbox-plugin`](https://github.com/netbox-community/cookiecutter-netbox-plugin) project template.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasonyates%2Fnetbox-circuitmaintenance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjasonyates%2Fnetbox-circuitmaintenance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasonyates%2Fnetbox-circuitmaintenance/lists"}