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:
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:
Importando o SDK¶
Você pode importar o SDK para o seu código com:
Você pode importar o SDK para o seu código com:
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:
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.
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.
Info
O objeto BotExecution
por padrão já vem configurado no template de projeto Java da BotCity.
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)