netbox-plugin-webhook-receiver


Namenetbox-plugin-webhook-receiver JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/LuPo/netbox-plugin-webhook-receiver
SummaryNetBox Webhook is a plugin for managing webhook receivers in NetBox.
upload_time2023-07-04 22:58:13
maintainer
docs_urlNone
authorŁukasz Polański
requires_python>=3.10,<4.0
licenseMIT
keywords netbox netbox-plugin webhook
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <h1 align="center">NetBox Webhook Receiver</h1>

<p align="center"><i>NetBox Webhook Receiver is a NetBox plugin for managing webhook receiver endpoints and executing assigned actions.</i></p>

This plugin aims mainly to streamline the deployment process of scripts and export templates to Netbox by triggering the synchronisation of its Data Sources through incomming webhooks. Adding the receiver capability to Netbox opens other possible use cases, which might be worth exploring further. One exemple could be running Netbox Scripts triggered by remote events where it is not easy to execute a direct API call.

## Features
- [x] Per endpoint authentication (signature validation or custom header) on receiving webhooks
- [x] Webhook url enriched with automaticaly generated uuid value for additional security
- [x] Dedicated view to configure each webhook receiver url
- [x] Logical grouping of the receivers
- [x] Optionally store incomming webhook payload
- [x] Custom actions execution on successfully receving authenticated webhook message. Currently only one action available: Synchronize Netbox git 'Data Source'
- [x] Use of standard Netbox jobs to enqueue webhook actions in the workers.
- [ ] Additional actions to be implemented
- [ ] Plugin configuration parameters

## Requirements

* NetBox 3.5 or higher
* Python 3.10 or higher

## Installation & Configuration

For all netbox plugin installations please refer to the oficial guide: [Using Plugins - NetBox Documentation](https://netbox.readthedocs.io/en/stable/plugins/)

Please remember that this plugin introduces new database models, therefore you must run the provided database schema migrations:
```
$ source /opt/netbox/venv/bin/activate
(venv) $ cd /opt/netbox/netbox/
(venv) $ python3 manage.py migrate
```

## Screenshots

![Webhook Receivers](/docs/images/webhook_receivers.png)
![Webhook Receiver](/docs/images/webhook_receiver.png)
![Webhook Receiver Group](/docs/images/webhook_receiver_group.png)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/LuPo/netbox-plugin-webhook-receiver",
    "name": "netbox-plugin-webhook-receiver",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10,<4.0",
    "maintainer_email": "",
    "keywords": "netbox,netbox-plugin,webhook",
    "author": "\u0141ukasz Pola\u0144ski",
    "author_email": "wookasz@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/21/67/887223b724ec2931a4c92692c9744682cb2895d62c863684644c519dc013/netbox_plugin_webhook_receiver-0.2.0.tar.gz",
    "platform": null,
    "description": "<h1 align=\"center\">NetBox Webhook Receiver</h1>\n\n<p align=\"center\"><i>NetBox Webhook Receiver is a NetBox plugin for managing webhook receiver endpoints and executing assigned actions.</i></p>\n\nThis plugin aims mainly to streamline the deployment process of scripts and export templates to Netbox by triggering the synchronisation of its Data Sources through incomming webhooks. Adding the receiver capability to Netbox opens other possible use cases, which might be worth exploring further. One exemple could be running Netbox Scripts triggered by remote events where it is not easy to execute a direct API call.\n\n## Features\n- [x] Per endpoint authentication (signature validation or custom header) on receiving webhooks\n- [x] Webhook url enriched with automaticaly generated uuid value for additional security\n- [x] Dedicated view to configure each webhook receiver url\n- [x] Logical grouping of the receivers\n- [x] Optionally store incomming webhook payload\n- [x] Custom actions execution on successfully receving authenticated webhook message. Currently only one action available: Synchronize Netbox git 'Data Source'\n- [x] Use of standard Netbox jobs to enqueue webhook actions in the workers.\n- [ ] Additional actions to be implemented\n- [ ] Plugin configuration parameters\n\n## Requirements\n\n* NetBox 3.5 or higher\n* Python 3.10 or higher\n\n## Installation & Configuration\n\nFor all netbox plugin installations please refer to the oficial guide: [Using Plugins - NetBox Documentation](https://netbox.readthedocs.io/en/stable/plugins/)\n\nPlease remember that this plugin introduces new database models, therefore you must run the provided database schema migrations:\n```\n$ source /opt/netbox/venv/bin/activate\n(venv) $ cd /opt/netbox/netbox/\n(venv) $ python3 manage.py migrate\n```\n\n## Screenshots\n\n![Webhook Receivers](/docs/images/webhook_receivers.png)\n![Webhook Receiver](/docs/images/webhook_receiver.png)\n![Webhook Receiver Group](/docs/images/webhook_receiver_group.png)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "NetBox Webhook is a plugin for managing webhook receivers in NetBox.",
    "version": "0.2.0",
    "project_urls": {
        "Homepage": "https://github.com/LuPo/netbox-plugin-webhook-receiver",
        "Repository": "https://github.com/LuPo/netbox-plugin-webhook-receiver"
    },
    "split_keywords": [
        "netbox",
        "netbox-plugin",
        "webhook"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5db6afaad85d7918bbf848ad5a759c09f2653f6ac6f61a9f89342c82c574ef6b",
                "md5": "cf71c7e10df70c867113c5576bbca1b9",
                "sha256": "cfa438ad4dd02b088637a9a7603e5e20a34de6909ac03407838234cdbeb84149"
            },
            "downloads": -1,
            "filename": "netbox_plugin_webhook_receiver-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cf71c7e10df70c867113c5576bbca1b9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10,<4.0",
            "size": 16001,
            "upload_time": "2023-07-04T22:58:11",
            "upload_time_iso_8601": "2023-07-04T22:58:11.458914Z",
            "url": "https://files.pythonhosted.org/packages/5d/b6/afaad85d7918bbf848ad5a759c09f2653f6ac6f61a9f89342c82c574ef6b/netbox_plugin_webhook_receiver-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2167887223b724ec2931a4c92692c9744682cb2895d62c863684644c519dc013",
                "md5": "f86a4e1653875e37706126ac79c35291",
                "sha256": "095f404d66db9a9f0ccfe02aef5f7b2dae513c81c5f2ec1229b8d771336486c7"
            },
            "downloads": -1,
            "filename": "netbox_plugin_webhook_receiver-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "f86a4e1653875e37706126ac79c35291",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10,<4.0",
            "size": 10334,
            "upload_time": "2023-07-04T22:58:13",
            "upload_time_iso_8601": "2023-07-04T22:58:13.068579Z",
            "url": "https://files.pythonhosted.org/packages/21/67/887223b724ec2931a4c92692c9744682cb2895d62c863684644c519dc013/netbox_plugin_webhook_receiver-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-04 22:58:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "LuPo",
    "github_project": "netbox-plugin-webhook-receiver",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "netbox-plugin-webhook-receiver"
}
        
Elapsed time: 0.10168s