Saltar a contenido

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:

pip install botcity-maestro-sdk

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:

npm i @botcity/botcity-maestro-sdk

El SDK de BotCity Maestro está disponible como un paquete de Javascript en NPM.

Puedes instalarlo con:

npm i @botcity/botcity-maestro-sdk

Importando el SDK

Puedes importar el SDK en tu código con:

# Importa todo desde el SDK de Maestro
from botcity.maestro import *

Puedes importar el SDK en tu código con:

// Importa el paquete
import dev.botcity.maestro_sdk.*;

Puedes importar el SDK en tu código con:

// Importa la clase BotMaestroSdk
const maestro = require("@botcity/botcity-maestro-sdk")

Puedes importar el SDK en tu código con:

// Importa la clase BotMaestroSdk
import { BotMaestroSdk } from '@botcity/botcity-maestro-sdk'

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:

# Crea un nuevo cliente de Maestro
maestro = BotMaestroSDK()
BotMaestroSDK maestro = new BotMaestroSDK();
const maestro = new BotMaestroSdk()
const maestro: BotMaestroSdk = new BotMaestroSdk()

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.

maestro.login(
    server="https://developers.botcity.dev",
    login="<LOGIN>",
    key="<KEY>"
)
maestro.login("https://developers.botcity.dev", "<LOGIN>", "<KEY>");
await maestro.login("https://developers.botcity.dev", "<LOGIN>", "<KEY>")
await maestro.login("https://developers.botcity.dev", "<LOGIN>", "<KEY>")

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.

# Obteniendo los argumentos pasados por Runner
maestro = BotMaestroSDK.from_sys_args()

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);
    ...
// Aún no implementado
// Aún no implementado

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)