netbox icon indicating copy to clipboard operation
netbox copied to clipboard

Missing api documentation for "POST /api/extras/scripts/"

Open sjurtf opened this issue 9 months ago • 2 comments

Deployment Type

Self-hosted

NetBox Version

v4.2.3

Python Version

3.12

Steps to Reproduce

(Could not find a way to reopen https://github.com/netbox-community/netbox/issues/16731, which was closed as duplicate to another issue that is closed/merged - but the original issue was not fixed)

  1. Go to https://demo.netbox.dev/api/schema/swagger-ui/#/extras/extras_scripts_create or your self hosted 1.1. Under "Parameters", you will notice there are no parameters

  2. Trying to call the api endpoint without body, will result in an error (who would have expected this 😄 )

  3. I used following curl command:

curl -X 'POST' \
  'https://netbox/api/extras/scripts/' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H "Authorization: Token XXX" \
  -d ''

Expected Behavior

Having all fields available on this endpoint documented

Observed Behavior

  "error": "null value in column \"module_id\" of relation \"extras_script\" violates not-null constraint\nDETAIL:  Failing row contains (19, , null, t).",
  "exception": "IntegrityError",
  "netbox_version": "4.2.3",
  "python_version": "3.12.3"
}

sjurtf avatar Feb 11 '25 20:02 sjurtf

There are a few model objects missing a description. Scripts is among them.

Here is a pretty-definitve list from my c# ApI Client builder...

no class Description : CircuitTermination            File: C:\Codez\Github\netbox\netbox\circuits\models\circuits.py - line 232
no class Description : VirtualCircuitTermination     File: C:\Codez\Github\netbox\netbox\circuits\models\virtual_circuits.py - line 121
no class Description : ObjectTypeManager             File: C:\Codez\Github\netbox\netbox\core\models\contenttypes.py - line 12
no class Description : VirtualDeviceContext          File: C:\Codez\Github\netbox\netbox\dcim\models\devices.py - line 1389
no class Description : MACAddress                    File: C:\Codez\Github\netbox\netbox\dcim\models\devices.py - line 1497
no class Description : ModularComponentModel         File: C:\Codez\Github\netbox\netbox\dcim\models\device_components.py - line 108
no class Description : ComponentTemplateModel        File: C:\Codez\Github\netbox\netbox\dcim\models\device_component_templates.py - line 36
no class Description : ConfigTemplate                File: C:\Codez\Github\netbox\netbox\extras\models\configs.py - line 213
no class Description : CustomFieldManager            File: C:\Codez\Github\netbox\netbox\extras\models\customfields.py - line 51
no class Description : CustomField                   File: C:\Codez\Github\netbox\netbox\extras\models\customfields.py - line 71
no class Description : Dashboard                     File: C:\Codez\Github\netbox\netbox\extras\models\dashboard.py - line 11
no class Description : ExportTemplate                File: C:\Codez\Github\netbox\netbox\extras\models\models.py - line 385
no class Description : Script                        File: C:\Codez\Github\netbox\netbox\extras\models\scripts.py - line 28
no class Description : ScriptModuleManager           File: C:\Codez\Github\netbox\netbox\extras\models\scripts.py - line 87
no class Description : CachedValue                   File: C:\Codez\Github\netbox\netbox\extras\models\search.py - line 15
no class Description : Tag                           File: C:\Codez\Github\netbox\netbox\extras\models\tags.py - line 23
no class Description : TaggedItem                    File: C:\Codez\Github\netbox\netbox\extras\models\tags.py - line 67
no class Description : ASNRange                      File: C:\Codez\Github\netbox\netbox\ipam\models\asns.py - line 15
no class Description : FHRPGroupAssignment           File: C:\Codez\Github\netbox\netbox\ipam\models\fhrp.py - line 75
no class Description : ServiceBase                   File: C:\Codez\Github\netbox\netbox\ipam\models\services.py - line 19
no class Description : VLANTranslationPolicy         File: C:\Codez\Github\netbox\netbox\ipam\models\vlans.py - line 335
no class Description : VLANTranslationRule           File: C:\Codez\Github\netbox\netbox\ipam\models\vlans.py - line 351
no class Description : NetBoxFeatureSet              File: C:\Codez\Github\netbox\netbox\netbox\models\__init__.py - line 24
no class Description : ContactAssignment             File: C:\Codez\Github\netbox\netbox\tenancy\models\contacts.py - line 105
no class Description : GroupManager                  File: C:\Codez\Github\netbox\netbox\users\models\users.py - line 22
no class Description : Group                         File: C:\Codez\Github\netbox\netbox\users\models\users.py - line 26
no class Description : UserManager                   File: C:\Codez\Github\netbox\netbox\users\models\users.py - line 70
no class Description : User                          File: C:\Codez\Github\netbox\netbox\users\models\users.py - line 74
no class Description : VMInterface                   File: C:\Codez\Github\netbox\netbox\virtualization\models\virtualmachines.py - line 303
no class Description : VirtualDisk                   File: C:\Codez\Github\netbox\netbox\virtualization\models\virtualmachines.py - line 412
no class Description : IKEProposal                   File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 21
no class Description : IKEPolicy                     File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 67
no class Description : IPSecProposal                 File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 126
no class Description : IPSecPolicy                   File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 178
no class Description : IPSecProfile                  File: C:\Codez\Github\netbox\netbox\vpn\models\crypto.py - line 214
no class Description : L2VPN                         File: C:\Codez\Github\netbox\netbox\vpn\models\l2vpn.py - line 19
no class Description : L2VPNTermination              File: C:\Codez\Github\netbox\netbox\vpn\models\l2vpn.py - line 79
no class Description : Tunnel                        File: C:\Codez\Github\netbox\netbox\vpn\models\tunnels.py - line 30
no class Description : TunnelTermination             File: C:\Codez\Github\netbox\netbox\vpn\models\tunnels.py - line 102

CADbloke avatar Mar 17 '25 04:03 CADbloke

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Do not attempt to circumvent this process by "bumping" the issue; doing so will result in its immediate closure and you may be barred from participating in any future discussions. Please see our contributing guide.

github-actions[bot] avatar Jun 16 '25 04:06 github-actions[bot]

This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.

github-actions[bot] avatar Jul 16 '25 04:07 github-actions[bot]