FileVar uploads collide with REST run parameters
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 56/100
Direzione di ricerca
Start at the REST run endpoint's multipart request handling and trace how uploaded file parts are separated from execution parameters. The report reproduces collisions for FileVar names commit and data; use its documented multipart requests to check both cases. Done means the endpoint accepts those uploads as variables, keeps run settings separate, and returns HTTP 201 with the file available to the Script.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Plugin Version
v0.0.1
NetBox Version
v4.7.3
Python Version
3.12
Steps to Reproduce
- Create a Script Project for uploaded files, upload the following Script, and activate its revision:
from netbox_scripts.scripts import FileVar, Script class TakesNamedFile(Script): commit = FileVar(label='Named file') def run(self, data, commit): return data['commit'].read().decode() - Create a small
notes.txtfile and request a run using the documented multipart format. Replace<id>with the Script's ID:printf 'hello\n' > notes.txt curl -i -sS -X POST \ -H "Authorization: Token $NETBOX_TOKEN" \ -F 'data={}' \ -F [email protected] \ 'https://netbox.example.com/api/plugins/netbox-scripts/scripts/<id>/run/'
Expected Behavior
The request returns HTTP 201 and queues the Script with the uploaded file in data['commit']. The file variable is kept separate from the run's commit setting.
The REST execution guide documents file parts named after their variables and separates variable values from execution parameters.
Observed Behavior
The request returns HTTP 400:
{"commit": ["Must be a valid boolean."]}
A FileVar named data, sent alongside the JSON data part, similarly returns:
{"data": ["Value must be valid JSON."]}
The endpoint reads the uploaded file as the top-level run parameter with the same name.
This affects request handling and is separate from the OpenAPI schema change in #16.
- Lingua principale
- Python
- Stelle
- 8
- Fork
- 0
- Merge medio
- 9h 34m
- PR unite (30g)
- 32
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di netbox-community/netbox-scripts
-
app: scripts status: backlog type: documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
netbox-community/netbox-scripts#80 ·
I maintainer di solito rispondono entro 1 giorno
-
Failed REST uploads expose internal error detailsForse già presa @pheus l’ha presa 2 giorni fa. Apertaapp: scripts severity: medium status: accepted type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
netbox-community/netbox-scripts#77 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
app: scripts severity: low status: backlog type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
netbox-community/netbox-scripts#76 ·
I maintainer di solito rispondono entro 1 giorno
-
app: scripts severity: low status: backlog type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
netbox-community/netbox-scripts#74 ·
I maintainer di solito rispondono entro 1 giorno
-
Correct the release checklist's tag and publishing stepsForse già presa @pheus l’ha presa 7 giorni fa. Apertaapp: scripts status: accepted type: documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
netbox-community/netbox-scripts#68 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di netbox-community/netbox-scripts
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
cline/mcp-marketplace#3576 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
griptape-ai/griptape-nodes-library-elevenlabs#30 ·
I maintainer di solito rispondono entro 1 giorno
-
docs: Release playbookApertadocumentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
awslabs/social-messaging-agent-runtime-toolkit#140 ·
I maintainer di solito rispondono entro 1 giorno
-
subtask
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
fga-eps-mds/2026.2-MeasureSoftGram-DOC#187 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
NSPG13/agent-bounties#1747 ·
I maintainer di solito rispondono entro 1 giorno