Setup
Esta sección te guiará a través de la configuración del SDK de BotCity Maestro y cómo establecer una conexión con la plataforma Maestro.
Instalación¶
El SDK de BotCity Maestro está disponible como un paquete de Python en PyPI.
Puedes instalarlo con:
El SDK de BotCity Maestro está disponible como una dependencia de Java en el repositorio Nexus.
La dependencia se instalará automáticamente después de agregarla 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>
<!-- Your other dependencies -->
<dependency>
<groupId>dev.botcity</groupId>
<artifactId>maestro-sdk</artifactId>
<version>2.0.3</version>
</dependency>
</dependencies>
El SDK de BotCity Maestro está disponible como un paquete de Javascript en NPM.
Puedes instalarlo con:
Importando el SDK¶
Puedes importar el SDK en tu código con:
Puedes importar el SDK en tu código con:
Creando un nuevo cliente de Maestro¶
La clase BotMaestroSDK
es la clase principal que se utiliza para interactuar con BotMaestro.
Puedes crear un nuevo cliente de Maestro con:
Estableciendo una conexión con Maestro¶
Hay dos formas de establecer una conexión con Maestro a través de código.
Podemos autenticar una nueva instancia utilizando los parámetros pasados por Runner o iniciar sesión directamente utilizando la información del espacio de trabajo.
Utilizando la información del espacio de trabajo¶
La información de inicio de sesión está disponible cuando accedes a BotCity Maestro y haces clic en el menú Dev. Environment
.
Necesitaremos la información de Login
y Key
de esta página.
Consulta la sección Dev. Environment para obtener más información.
Utilizando los argumentos pasados por Runner¶
Otra forma de autenticar una instancia del SDK de Maestro es a través de los argumentos pasados por Runner al ejecutar una tarea.
De esta manera, cuando ejecutamos nuestra automatización a través de Runner, ya tendremos una instancia autenticada del SDK en el código.
Tip
Si estás utilizando plantillas de proyectos de BotCity para desarrollar automatizaciones, es probable que ya tengas este fragmento de código incluido en el proyecto.
Info
Por defecto, el objeto BotExecution
ya está configurado en la plantilla de proyecto de BotCity Java.
Obteniendo la referencia de ejecución actual¶
Después de instanciar el SDK de Maestro, podemos obtener la referencia de la tarea actual que se está ejecutando por Runner.
De esta manera, podemos acceder más fácilmente a la información sobre esta ejecución durante el código, como el ID de la tarea y los parámetros.
# Instantiating the Maestro SDK
maestro = BotMaestroSDK.from_sys_args()
# Getting the details of the current task being executed
execution = maestro.get_execution()
# Information about the task being executed
print(f"Task ID is: {execution.task_id}")
print(f"Task Parameters are: {execution.parameters}")
Info
Por defecto, el objeto BotExecution
ya está configurado en la plantilla de proyecto de BotCity Java.
public void action(BotExecution botExecution) {
try {
// Instantiating the Maestro SDK
// The BotExecution object contains the information that is passed by the Runner
BotMaestroSDK maestro = new BotMaestroSDK();
maestro.login(botExecution);
// Information about the task being executed
System.out.println(botExecution.getTaskId());
...
// Getting the arguments passed by Runner
const args = process.argv.slice(2)
const [server, taskid, token] = args
// Instantiating the Maestro SDK
const maestro = new BotMaestroSdk()
maestro.login("https://developers.botcity.dev", "<LOGIN>", "<KEY>")
// Getting the details of the current task being executed
const executionTask = await maestro.getTask(taskid)
// Getting the arguments passed by Runner
const args = process.argv.slice(2)
const [server, taskid, token] = args
// Instantiating the Maestro SDK
const maestro: BotMaestroSdk = new BotMaestroSdk()
maestro.login("https://developers.botcity.dev", "<LOGIN>", "<KEY>")
// Getting the details of the current task being executed
const executionTask: Task = await maestro.getTask(taskid)