FileVar uploads collide with REST run parameters
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 56/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 8
- Forks
- 0
- Merge medio
- 11 h 22 min
- PR fusionados (30 d)
- 40
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de netbox-community/netbox-scripts
-
app: scripts Bucket: Improve status: backlog type: documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
netbox-community/netbox-scripts#80 ·
Los mantenedores suelen responder en 1 día
-
app: scripts Bucket: KTLO severity: low status: backlog type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
netbox-community/netbox-scripts#76 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Raise the minimum NetBox version to v4.7.5Posiblemente ocupada @pheus la tomó hace 1 día. Abiertoapp: scripts Bucket: KTLO status: backlog type: housekeeping
netbox-community/netbox-scripts#123 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
A committed run is reported as unfinished when its events cannot be queuedPosiblemente ocupada @pheus la tomó hace 1 día. Abiertoapp: scripts Bucket: KTLO severity: low status: accepted type: bug
netbox-community/netbox-scripts#122 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Failed post-commit callback reports committed changes as reverted and drops eventsPosiblemente ocupada @pheus la tomó hace 1 día. Abiertoapp: scripts Bucket: KTLO severity: low status: accepted type: bug
netbox-community/netbox-scripts#121 · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de netbox-community/netbox-scripts
Issues similares
-
[yugabyted] xcluster set_up and add_to_replication fail for database names containing - . or (Abiertokind/bug priority/medium qa_automation
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
yugabyte/yugabyte-db#37324 ·
Los mantenedores suelen responder en 1 día
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 87/100
btclib-org/btclib-node#2260 ·
Los mantenedores suelen responder en 1 día
-
ChatBedrockConverse changes the keys of JSON tool results to camelCase (`order_id` becomes `orderId`)Posiblemente ocupada @geyazheng la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
langchain-ai/langchain-aws#1469 ·
Los mantenedores suelen responder en 1 día
-
GCToggler leaves collection enabled if the body re-enables itPosiblemente ocupada @Gambit-Checkmate la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 7 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
EESSI/docs#949 · 1 comentario ·
Los mantenedores suelen responder en 1 día