Setup
En esta sección encontrarás cómo configurar el BotCity Maestro SDK y cómo establecer una conexión con la plataforma del Orquestador BotCity por código.
Instalación¶
BotCity Maestro SDK está disponible como un paquete Python en PyPI.
Puedes instalarlo con:
BotCity Maestro SDK está disponible como una dependencia Java en el repositorio Nexus.
La dependencia se instalará automáticamente después de ser agregada a tu pom.xml:
<repositories>
<repository>
<id>nexus-botcity-public</id>
<url>https://devtools.botcity.dev:8081/repository/botcity-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<!-- Sus otras dependencias -->
<dependency>
<groupId>dev.botcity</groupId>
<artifactId>maestro-sdk</artifactId>
<version>2.0.3</version>
</dependency>
</dependencies>
BotCity Maestro SDK está disponible como paquete Javascript en NPM.
Puedes instalarlo con:
BotCity Maestro SDK está disponible como paquete Javascript en NPM.
Puedes instalarlo con:
Importar el SDK¶
Puedes importar el SDK en tu código con:
Puedes importar el SDK en tu código con:
Crear un nuevo cliente Maestro¶
BotMaestroSDK es la clase principal que se utiliza al interactuar con las funcionalidades del Orquestador BotCity.
Puedes crear un nuevo cliente Maestro con:
Establecer una conexión con el Orquestador¶
Existen básicamente dos formas de establecer conexión con el Orquestador BotCity por código.
- Autenticación en ejecución local
- Autenticación a través del Runner
Ejecución local¶
Durante la fase de desarrollo, puedes conectarte con el Orquestador BotCity para probar los recursos.
Para realizar la autenticación en código, necesitas la información de tu workspace:
- Server:
- Comunidad:
https://developers.botcity.dev - Dedicado:
https://tu-empresa.botcity.dev
- Comunidad:
- Login: Código de autenticación
- Key: Clave de autenticación
Autenticación
Encuentra las credenciales para la autenticación directamente en tu workspace del Orquestador BotCity, en la sección de Configuración en el menú lateral.
Consulta más en:
¡Atención!
Este método debe utilizarse en contextos de prueba local. No se recomienda desplegar el código con este tipo de autenticación.
Ejecución a través del Runner¶
En la fase en que el robot está terminado y listo para su despliegue, la autenticación debe realizarse de forma dinámica a través de los argumentos pasados por el Runner que ejecutará las tareas.
Tutorial
Puedes utilizar las plantillas de proyecto de BotCity con fragmentos de código base ya listos para la primera ejecución.
Consulta más en:
Obtener la referencia de la ejecución actual¶
Durante la ejecución de una tarea, puedes obtener información importante de una ejecución como el ID de la tarea o los parámetros de esa tarea en ejecución.
# Instancia del Maestro SDK
maestro = BotMaestroSDK.from_sys_args()
# Obtiene los detalles de la tarea actual en ejecución
execution = maestro.get_execution()
# Información de la tarea que está siendo ejecutada
print(f"Task ID is: {execution.task_id}")
print(f"Task Parameters are: {execution.parameters}")
public void action(BotExecution botExecution) {
try {
// Instancia del Maestro SDK
// El objeto BotExecution contiene la información que es pasada por el Runner
BotMaestroSDK maestro = new BotMaestroSDK();
maestro.login(botExecution);
// Información de la tarea que está siendo ejecutada
System.out.println(botExecution.getTaskId());
...
// Obteniendo los parámetros pasados por el Runner
const args = process.argv.slice(2)
const [server, taskid, token] = args
// Instanciando el Maestro SDK
const maestro = new BotMaestroSdk()
maestro.login(<SERVER>, "<LOGIN>", "<CLAVE>")
// Obteniendo los detalles de la tarea actual en ejecución
const executionTask = await maestro.getTask(taskid)
// Obteniendo los parámetros pasados por el Runner
const args = process.argv.slice(2)
const [server, taskid, token] = args
// Instanciando el Maestro SDK
const maestro: BotMaestroSdk = new BotMaestroSdk()
maestro.login("<SERVER>", "<LOGIN>", "<CLAVE>")
// Obteniendo los detalles de la tarea actual en ejecución
const executionTask: Task = await maestro.getTask(taskid)
using Dev.BotCity.MaestroSdk.Model.Execution;
// Instancia del Maestro SDK
BotMaestroSDK maestro = BotMaestroSDK.FromSysArgs();
// Obtiene los detalles de la tarea actual en ejecución
Execution execution = await maestro.GetExecutionAsync(maestro.GetTaskId());
// Información de la tarea que está siendo ejecutada
Console.WriteLine("Task ID is: " + execution.TaskId);
Console.WriteLine("Task Parameters are: " + string.Join(", ", execution.Parameters));
Listo¶
Con la configuración lista, puedes intercambiar información de forma segura entre la ejecución a través del Runner y el Orquestador BotCity.
Toda la información generada en el proceso de ejecución de una tarea puede almacenarse en el Orquestador BotCity, pero para ello necesitas usar los métodos explícitamente en el código.
Orquestador BotCity
El Orquestador BotCity no accede ni asume ningún valor generado en la ejecución de la tarea. Solo se registran automáticamente informaciones básicas de marcador de tiempo de cola, tiempo de ejecución y nombre del Runner que ejecutó la tarea.