Règles¶
Chaque fichier de fonction est vérifié au démarrage du bot et avec
validate. Si un fichier est incorrect, rien ne
s’exécute : les erreurs sont détectées avant la mise en ligne du menu.
Fichiers lus¶
- Seuls les fichiers terminés par
.yamlou.ymlsont lus. Les autres sont ignorés. - Les sous-dossiers de
function_directorysont également lus. - Un fichier doit décrire exactement une fonction.
Nommage¶
nameest obligatoire et doit respecter^[A-Za-z0-9._-]+$: lettres, chiffres,.,-et_, sans espace.- Les noms sont uniques sans tenir compte de la casse.
Deployetdeployentrent en conflit, même dans des fichiers différents. - Les noms réservés sont interdits. Une fonction ne peut pas s’appeler
commandouscript; ces noms appartiennent aux fonctions intégrées.
La commande¶
runest obligatoire. Écrivez la commande avec des variables de remplacement aux emplacements des valeurs.- La syntaxe des variables est vérifiée lors de la validation. Une séquence
{{incorrecte est donc signalée tôt.
Paramètres¶
- Chaque paramètre nécessite un
nameconforme à la même règle de caractères. typedoit êtrestring,intoubool. Sans valeur, il vautstring. Les valeurs et valeurs par défautintouboolsont vérifiées.- Un nom de paramètre ne peut pas être un réglage de bouton :
name,type,icon,id,function,confirm,timeout,workdir,env,columnsouitems.command,pathetargssont autorisés. - Chaque valeur écrite sur un bouton doit correspondre à un paramètre déclaré par sa fonction.
Le champ run ne peut utiliser que les variables de paramètres déclarés. Une
variable non déclarée est une erreur.
Les fautes sont des erreurs¶
Les clés inconnues sont refusées. Une faute comme requird: au lieu de
required: arrête la validation au lieu d’être ignorée.
Ce fichier ne se charge pas
Valeurs obligatoires et valeurs par défaut¶
- L’absence de valeur pour un paramètre obligatoire fait échouer la
validation avec un message comme
required parameter "args" for function "greet" is missing. - Une valeur présente mais vide est considérée comme manquante.
- Un paramètre facultatif utilise son
default. Sansdefault, il devient vide, ce qui permet d’omettre les parties facultatives d’une commande.
Obligatoire et facultatif dans un fichier
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 bouton qui définit uniquement path exécute
tail -n 200 /var/log/app.log.
Pages associées¶
- Structure des fichiers — explication de chaque champ
- Variables de remplacement — écrire la commande
run - CLI → validate — exécuter vous-même les vérifications