ZokasTech Innovate Connect Grow

Système · Étape

Exécuter une commande cmd.run

Lance une commande sur le poste du robot (npm, podman, git, curl…), suit sa sortie et récupère son code de sortie.

Type
cmd.run
Famille
Système
Exécuté par
Robot
Quand l’utiliser
Construire et publier un logiciel, piloter des conteneurs, synchroniser un dépôt.

Synopsis

{
  "id": "publier",
  "type": "cmd.run",
  "label": "Publier sur le Hub",
  "props": {
    "command": "npm run release:publish",
    "cwd": "{{depot}}/desktop",
    "env": "ZOKAS_HUB_URL={{hub}}",
    "credential": "Hub ZokasTech — jeton de publication",
    "credential_env": "ZOKAS_HUB_TOKEN",
    "timeout": "3600",
    "into": "publication"
  }
}

Propriétés

Toutes les valeurs s’écrivent en chaînes JSON et acceptent l’interpolation {{variable}}. Voir Objet Étape.

PropriétéTypeRequisDéfautDescription
commandtexteoui—Une seule commande, sans interpréteur : pas de « ; », « && », « | » ni redirection. « NOM=valeur programme » est accepté.
Ex. npm run release:mac:arm64
cwdcheminnonpremière racine autoriséeDossier de travail (dans les dossiers autorisés au robot).
Ex. {{depot}}/desktop
envtextenon—Variables d'environnement, une par ligne NOM=valeur.
credentialtextenon—Identifiant du Coffre injecté en variable d'environnement.
credential_envtextenonZOKAS_SECRETVariable qui reçoit le secret (l'identifiant va dans NOM_USER).
Ex. ZOKAS_HUB_TOKEN
timeoutnombrenon3600Délai maximal en secondes (6 h maximum).
detachbooléennonfalseLancer en arrière-plan sans attendre (redémarrage d'un service).
delaynombrenon0Secondes d'attente avant le lancement (avec detach).
allow_failbooléennonfalseNe pas arrêter le processus si le code de sortie n'est pas 0.
intovariablenoncommandeVariable de résultat.

Résultat

Variable
commande — modifiable par into
Nature
objet
Contenu
Résultat de la commande. Voir l’objet Résultat de commande.

Remarques

  • Liste blanche des programmes : ZOKAS_SHELL_ALLOW (par défaut npm, npx, node, podman, podman-compose, git, curl, unzip). ZOKAS_SHELL=0 désactive l'étape.
  • Le robot complète le PATH (Homebrew, nvm, volta, fnm, asdf) ; ZOKAS_SHELL_PATH ajoute des dossiers.
  • Les secrets sont retirés de la sortie avant journalisation.

Erreurs fréquentes

MessageCauseSolution
programme « X » non autorisé sur ce robotProgramme hors liste blanche.Ajoutez-le à ZOKAS_SHELL_ALLOW sur le robot.
programme « npm » introuvable sur robot-vm-01Node.js absent du robot ou hors PATH.Installez Node.js, ou indiquez son dossier dans ZOKAS_SHELL_PATH.
enchaînements et redirections interditsLa ligne contient ; && | > …Une étape par commande.

Voir aussi

Source : orchestrator/zokas_orch/runtime.py — PackageRunner._cmd ; robot/zokas_robot/shell.py

Mis à jour le 28 octobre 2026