Reglas¶
Cada archivo de función se comprueba al iniciar el bot y al ejecutar
validate. Si un archivo es incorrecto, nada se
ejecuta, por lo que los errores se detectan antes de publicar el menú.
Qué archivos se leen¶
- Solo se leen los archivos terminados en
.yamlo.yml. - También se leen las subcarpetas de
function_directory. - Cada archivo debe describir exactamente una función.
Nombres¶
namees obligatorio y debe coincidir con^[A-Za-z0-9._-]+$: letras, dígitos,.,-y_, sin espacios.- Los nombres son únicos, sin distinguir mayúsculas.
Deployydeployentran en conflicto aunque estén en archivos distintos. - Los nombres reservados están prohibidos. Una función no puede llamarse
commandniscript; pertenecen a las funciones integradas.
El comando¶
runes obligatorio. Escriba el comando con variables de reemplazo donde deban ir los valores.- La sintaxis de las variables de reemplazo se comprueba al validar la configuración.
Parámetros¶
- Cada parámetro necesita un
nameque siga la misma regla de caracteres. typedebe serstring,intobool. Si se omite, esstring. Se comprueban los valores y predeterminados declarados comointobool.- Un parámetro no puede llamarse como un ajuste de botón:
name,type,icon,id,function,confirm,timeout,workdir,env,columnsoitems. Se permitencommand,pathyargs. - Cada valor de un botón debe coincidir con un parámetro declarado por su función.
El campo run solo puede usar variables de reemplazo de parámetros declarados.
Una variable no declarada es un error.
Los errores tipográficos son errores¶
Las claves desconocidas se rechazan. Un error como requird: en vez de
required: detiene la validación en lugar de ignorarse.
Este archivo no se carga
Valores obligatorios y predeterminados¶
- Un parámetro obligatorio sin valor hace fallar la validación con un
mensaje como
required parameter "args" for function "greet" is missing. - Un valor presente pero vacío se considera ausente.
- Un parámetro opcional usa su
default. Sindefault, queda vacío, lo que permite omitir partes opcionales del comando.
Un parámetro obligatorio y otro opcional
functions/tail-log.yaml
name: tail-log
run: "tail -n {{.args}} {{.path}}"
params:
- name: path
required: true
description: Log file path
- name: args
default: "200"
description: Number of lines
Un botón que solo define path ejecuta
tail -n 200 /var/log/app.log.
Relacionado¶
- Estructura de archivos — explicación de todos los campos
- Variables de reemplazo — cómo escribir el comando
run - CLI → validate — ejecute usted mismo las comprobaciones