Lorsque vous créez un script pour une utilisation dans Automation Orchestrator, vous devez vérifier qu'il a la structure et la mise en forme appropriées.
Exécutions prises en charge
Pour développer des actions et des workflows Automation Orchestrator, vous pouvez utiliser les environnements d'exécution suivants :
- Python 3.10
- Node.js 18
- PowerCLI 12 (PowerShell 7.2)
Note : L'exécution de PowerCLI inclut PowerShell et les modules suivants : VMware.PowerCLI, PowerNSX, PowervRA.
- PowerShell 7.3
Vous pouvez ajouter n'importe quel code source personnalisé aux nouvelles exécutions, mais pour accepter le contexte et les entrées, et renvoyer le résultats depuis et vers le moteur Automation Orchestrator, vous devez respecter le format fonctionnel approprié.
Recommandations relatives aux scripts
Pour les tâches d'écriture de scripts les plus simples, vous pouvez ajouter des éléments Tâche pouvant contenir des scripts à votre schéma de workflow. Vous pouvez utiliser les actions Automation Orchestrator pour les tâches d'écriture de scripts plus complexes.
L'utilisation d'actions offre deux avantages spécifiques :
- Les actions peuvent être créées, mises à jour, importées et exportées indépendamment des workflows.
- Les actions sont des objets autonomes qui peuvent être exécutés et débogués dans leur propre environnement, ce qui peut entraîner un processus de développement plus fluide. Reportez-vous à Exécution et débogage d'actions.
Conditions requises pour la fonction de script
Le nom par défaut de votre fonction de script est handler. La fonction accepte deux arguments, context et input. L'argument context est un objet de mappage qui contient des informations système. Par exemple, vroURL
peut contenir l'URL de l'instance de Automation Orchestrator que vous souhaitez appeler, alors que executionId
contient l'ID de jeton d'une exécution de workflow.
Une entrée est un objet de carte contenant toutes les entrées fournies aux actions. Par exemple, si vous définissez une entrée dans votre action appelée myInput
, vous pouvez y accéder à partir de l'argument input, tel que inputs.myInput
ou inputs["myInput"]
, selon votre exécution. Tout ce que la fonction renvoie est le résultat de l'action. Par conséquent, le type de retour de votre action doit correspondre au type de contenu renvoyé par le script dans Automation Orchestrator. Si vous renvoyez une primitive, le type de retour de l'action doit être un type de nombre. Si vous renvoyez une chaîne, le type de retour de l'action doit être un type de chaîne. Si vous renvoyez un objet complexe, le type de retour doit être mappé à Properties
ou Composite Type
. Ces mêmes principes s'appliquent également aux tableaux.
Types de paramètres d'entrée et de sortie pris en charge pour les exécutions Python, Node.js et PowerShell :
String
Number
Boolean
Date
Properties
Composite Type
Définir le gestionnaire d'entrée
Par défaut, la valeur du gestionnaire d'entrée est handler.handler
. Cette valeur signifie que le moteur de Automation Orchestrator recherche un fichier de niveau supérieur dans votre module ZIP appelé handler.py, handler.js ou handler.ps1, qui inclut une fonction appelée handler
. Les différences entre les noms des fichiers de fonction et de gestionnaire doivent être reflétées dans la valeur du gestionnaire d'entrées. Par exemple, si votre gestionnaire principal est appelé index.js et que votre fonction est appelée callMe
, vous devez définir la valeur du gestionnaire d'entrée sur index.callMe.
Déboguer les scripts d'exécution dans un IDE externe
Automation Orchestrator prend en charge le débogage de scripts Python et Node.js dans un IDE externe. Vous ne pouvez pas déboguer des scripts PowerShell dans un IDE externe.