Al crear un script para usarlo en Automation Orchestrator, debe comprobar que este tenga la estructura y el formato correctos.

Tiempos de ejecución compatibles

Para desarrollar acciones y flujos de trabajo de Automation Orchestrator, puede utilizar los siguientes tiempos de ejecución:

  • Python 3.10
  • Node.js 20
  • PowerCLI 13 (PowerShell 7.4)
    Nota: El tiempo de ejecución de PowerCLI incluye PowerShell y los siguientes módulos: VMware.PowerCLI, PowerNSX y PowervRA.
  • PowerShell 7.4
    Nota: Los ejecutables de PowerCLI 12 y Node.js 18 están obsoletos y se eliminarán en una versión futura.

Puede agregar cualquier código fuente personalizado a los nuevos tiempos de ejecución, pero debe seguir el formato funcional correcto para aceptar el contexto y las entradas, así como para devolver un resultado procedente o destinado al motor de Automation Orchestrator.

Recomendaciones de creación de scripts

Para las tareas de creación de scripts más sencillas, puede agregar elementos de Tarea de scripts al esquema de flujo de trabajo. Puede utilizar acciones de Automation Orchestrator para realizar tareas de scripts más complejas.

El uso de acciones proporciona dos ventajas específicas:

  • Las acciones se pueden crear, actualizar, importar y exportar independientemente de los flujos de trabajo.
  • Las acciones son objetos independientes que pueden ejecutarse y depurarse en su propio entorno, lo que puede llevar a un proceso de desarrollo más ágil. Consulte Ejecutar y depurar acciones.

Requisitos de la función de script

El nombre predeterminado de la función de script es handler. La función acepta dos argumentos: contexto y entrada. El contexto es un objeto de asignación que contiene información del sistema. Por ejemplo, vroURL puede contener la dirección URL de la instancia de Automation Orchestrator a la que se desea llamar, mientras que executionId contiene el identificador de token de una ejecución de flujo de trabajo.

Una entrada es un objeto de asignación que contiene todas las entradas que se proporcionan a las acciones. Por ejemplo, si se define una entrada en una acción llamada myInput, puede accederse a ella desde el argumento de entradas (como inputs.myInput o inputs["myInput"]) en función del tiempo de ejecución. Cualquier elemento que se devuelva de la función será el resultado de la acción. Por tanto, el tipo de valor devuelto de la acción debe corresponder al tipo de contenido que el script devuelve en Automation Orchestrator. Si se devuelve un número primitivo, el tipo de valor devuelto de la acción debe ser un número. Si se devuelve una cadena, el tipo de valor devuelto de la acción debe ser una cadena. Si se devuelve un objeto complejo, el tipo de valor devuelto debe asignarse a Properties o a Composite Type. Estos mismos principios también se aplican a las matrices.

Estos son los tipos de parámetros de entrada y salida admitidos para los tiempos de ejecución de Python, Node.js y PowerShell:

  • String
  • Number
  • Boolean
  • Date
  • Properties
  • Composite Type

Definir el controlador de entrada

De forma predeterminada, el valor del controlador de entrada es handler.handler. Este valor significa que el motor de Automation Orchestrator busca un archivo de nivel superior en el paquete ZIP llamado handler.py, handler.js o handler.ps1, el cual que incluye una función denominada handler. Cualquier diferencia entre los nombres de la función y el archivo del controlador debe reflejarse en el valor del controlador de entrada. Por ejemplo, si el controlador principal se denomina index.js y la función se llama callMe, debe establecer el valor del controlador de entrada como index.callMe.

Depurar scripts de tiempo de ejecución en un IDE externo

Automation Orchestrator admite la depuración de scripts de Python y Node.js en un IDE externo. Los scripts de PowerShell no se pueden depurar en un IDE externo.