Ir para o conteúdo

Setup

Esta seção irá guiá-lo através da configuração do BotCity Maestro SDK e como estabelecer uma conexão com a plataforma Maestro via código.

Instalação

BotCity Maestro SDK está disponível como um pacote Python no PyPI.

Você pode instalá-lo com:

pip install botcity-maestro-sdk

BotCity Maestro SDK está disponível como uma dependência Java no repositório Nexus.

A dependência será instalada automaticamente após ser adicionada ao seu 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>

BotCity Maestro SDK está disponível como pacote Javascript no NPM.

Você pode instalá-lo com:

npm i @botcity/botcity-maestro-sdk

BotCity Maestro SDK está disponível como pacote Javascript no NPM.

Você pode instalá-lo com:

npm i @botcity/botcity-maestro-sdk

Importando o SDK

Você pode importar o SDK para o seu código com:

# Importando o pacote
from botcity.maestro import *

Você pode importar o SDK para o seu código com:

// Importando o pacote
import dev.botcity.maestro_sdk.*;

Você pode importar o SDK para o seu código com:

// Importando classe BotMaestroSdk
const maestro = require("@botcity/botcity-maestro-sdk")

Você pode importar o SDK para o seu código com:

// Importando classe BotMaestroSdk
import { BotMaestroSdk } from '@botcity/botcity-maestro-sdk'

Criando um novo cliente Maestro

O BotMaestroSDK é a classe principal a ser usada ao interagir com o BotMaestro.

Você pode criar um novo cliente Maestro com:

# Instanciando um novo cliente do Maestro
maestro = BotMaestroSDK()
BotMaestroSDK maestro = new BotMaestroSDK();
const maestro = new BotMaestroSdk()
const maestro: BotMaestroSdk = new BotMaestroSdk()

Estabelecendo uma conexão com o Maestro

Existem basicamente duas formas de estabelecermos conexão com o Maestro via código.

Podemos autenticar uma nova instância através dos parâmetros que são passados pelo Runner, ou fazer o login usando direto as informações do workspace.

Utilizando as informações do workspace

As informações de login estão disponíveis quando você acessa o BotCity Maestro e clica no menu Amb. Desenvolvedor.

Dessa página vamos precisar das informações do Login e Chave.

Veja a seção Amb. Desenvolvedor para obter mais informações.

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

Utilizando os argumentos passados pelo Runner

Outra forma de autenticarmos uma instância do Maestro SDK é através dos argumentos que são passados pelo Runner na hora de executar uma tarefa.

Dessa forma, ao executarmos nossa automação através do Runner, já teremos uma instância autenticada do SDK no código.

Dica

Caso você esteja utilizando os templates de projeto da BotCity no desenvolvimento das automações, provavelmente já terá esse trecho de código incluído no projeto.

# Obtendo os argumentos que são passados pelo Runner
maestro = BotMaestroSDK.from_sys_args()

Info

O objeto BotExecution por padrão já vem configurado no template de projeto Java da BotCity.

public void action(BotExecution botExecution) {

    try {
        // Instanciando o Maestro SDK
        // O objeto BotExecution contém as informações que são passadas pelo Runner
        BotMaestroSDK maestro = new BotMaestroSDK();
        maestro.login(botExecution);
    ...
// Ainda não implementado
// Ainda não implementado

Obtendo a referência da execução atual

Após instanciarmos o Maestro SDK, podemos obter a referência da tarefa atual que está sendo executada pelo Runner.

Dessa forma, conseguimos acessar de uma forma mais fácil as informações dessa execução durante o código, como o ID e os parâmetros da tarefa.

# Instanciando o Maestro SDK
maestro = BotMaestroSDK.from_sys_args()
# Buscando os detalhes da tarefa atual sendo executada
execution = maestro.get_execution()

# Informações da tarefa que está sendo executada
print(f"Task ID is: {execution.task_id}")
print(f"Task Parameters are: {execution.parameters}")

Info

O objeto BotExecution por padrão já vem configurado no template de projeto Java da BotCity.

public void action(BotExecution botExecution) {

    try {
        // Instanciando o Maestro SDK
        // O objeto BotExecution contém as informações que são passadas pelo Runner
        BotMaestroSDK maestro = new BotMaestroSDK();
        maestro.login(botExecution);

        // Informações da tarefa que está sendo executada
        System.out.println(botExecution.getTaskId());
    ...
// Obtendo parâmetros passados pelo Runner
const args = process.argv.slice(2)
const [server, taskid, token] = args

// Instanciando o Maestro SDK
const maestro = new BotMaestroSdk()
maestro.login("https://developers.botcity.dev", "<LOGIN>", "<CHAVE>")

// Buscando os detalhes da tarefa atual sendo executada
const executionTask = await maestro.getTask(taskid)
// Obtendo parâmetros passados pelo Runner
const args = process.argv.slice(2)
const [server, taskid, token] = args

// Instanciando o Maestro SDK
const maestro: BotMaestroSdk = new BotMaestroSdk()
maestro.login("https://developers.botcity.dev", "<LOGIN>", "<CHAVE>")

// Buscando os detalhes da tarefa atual sendo executada
const executionTask: Task = await maestro.getTask(taskid)