diff --git a/docs/additional-features/custom-scripts.md b/docs/additional-features/custom-scripts.md index 128739780..28d1bf856 100644 --- a/docs/additional-features/custom-scripts.md +++ b/docs/additional-features/custom-scripts.md @@ -231,6 +231,30 @@ An IPv4 or IPv6 network with a mask. Returns a `netaddr.IPNetwork` object. Two a * `min_prefix_length` - Minimum length of the mask * `max_prefix_length` - Maximum length of the mask +## Running Custom Scripts + +!!! note + To run a custom script, a user must be assigned the `extras.run_script` permission. This is achieved by assigning the user (or group) a permission on the Script object and specifying the `run` action in the admin UI as shown below. + + ![Adding the run action to a permission](../../media/admin_ui_run_permission.png) + +### Via the Web UI + +Custom scripts can be run via the web UI by navigating to the script, completing any required form data, and clicking the "run script" button. + +### Via the API + +To run a script via the REST API, issue a POST request to the script's endpoint specifying the form data and commitment. For example, to run a script named `example.MyReport`, we would make a request such as the following: + +```no-highlight +curl -X POST \ +-H "Authorization: Token $TOKEN" \ +-H "Content-Type: application/json" \ +-H "Accept: application/json; indent=4" \ +http://netbox/api/extras/scripts/example.MyReport/ \ +--data '{"data": {"foo": "somevalue", "bar": 123}, "commit": true}' +``` + ## Example Below is an example script that creates new objects for a planned site. The user is prompted for three variables: diff --git a/docs/additional-features/reports.md b/docs/additional-features/reports.md index e845117c0..9d60f797e 100644 --- a/docs/additional-features/reports.md +++ b/docs/additional-features/reports.md @@ -101,11 +101,14 @@ Once you have created a report, it will appear in the reports list. Initially, r ## Running Reports +!!! note + To run a report, a user must be assigned the `extras.run_report` permission. This is achieved by assigning the user (or group) a permission on the Report object and specifying the `run` action in the admin UI as shown below. + + ![Adding the run action to a permission](../../media/admin_ui_run_permission.png) + ### Via the Web UI -Reports can be run via the web UI by navigating to the report and clicking the "run report" button at top right. Note that a user must have permission to create ReportResults in order to run reports. (Permissions can be assigned through the admin UI.) - -Once a report has been run, its associated results will be included in the report view. +Reports can be run via the web UI by navigating to the report and clicking the "run report" button at top right. Once a report has been run, its associated results will be included in the report view. ### Via the API diff --git a/docs/media/admin_ui_run_permission.png b/docs/media/admin_ui_run_permission.png new file mode 100644 index 000000000..a7aaa79b8 Binary files /dev/null and b/docs/media/admin_ui_run_permission.png differ