Ir para o conteúdo

Abril 2024

BotCity Academy

Um novo curso com foco em Segurança de Python RPA foi lançado no BotCity Academy.

Segurança com Python RPA

Este curso vai te guiar de forma clara e objetiva através dos principais conceitos de segurança da informação e como aplicar esses conceitos em projetos Python com um foco especial em projetos de RPA.

Orquestrador BotCity

Gerador de Trechos de Código

Estamos introduzindo o novo recurso Gerador de Trechos de Código.

Nosso interesse ao fazer isso é envolver os usuários com os recursos mais avançados e permitir que eles aprimorem sua experiência acessando o que já está disponível para eles.

Encontrar Trechos de Código Personalizados

Cada recurso do Orquestrador terá o recurso Gerador de Trechos de Código.

chrome-capture-2024-4-24 (2) (1).gif

Clique neste botão para encontrar trechos de código para vários casos de uso.

chrome-capture-2024-4-24.gif

Os usuários poderão escolher em qual linguagem desejam que o trecho de código seja, com opções de Python, Java, JavaScript e TypeScript.

Snippet Generator_img3.png

E se houver um atributo específico no trecho de código, o usuário poderá selecioná-lo diretamente na tela. Neste exemplo, eles podem selecionar o tipo de arquivo que desejam importar ao executar uma ação de upload de artefato.

chrome-capture-2024-4-24 (1).gif

Inserindo o código no seu IDE

Após selecionar o caso de uso, a linguagem e quaisquer atributos especiais, um trecho de código é gerado... Este código pode ser copiado usando o botão "copiar código" e colado no IDE preferido do usuário.

CPT2404241116-619x479.gif

Observação: Não é possível editar o código dentro do gerador de trechos de código. Se o usuário quiser editar algo, ele terá que fazer isso diretamente em seu IDE.

Se você tiver dúvidas

Se você tiver dúvidas sobre um caso de uso ou um trecho de código, você pode consultar a documentação do Botcity através do hiperlink "como usar".

Snippet Generator_img8.png

Recursos do produto que incluem o recurso [gerador de trechos de código]:

  • Data Pool
  • Nova tarefa
  • Alertas
  • Log de erros
  • Log de execução
  • Arquivos de resultado
  • Credenciais

Implantação fácil para automações existentes

Percebemos que alguns usuários estavam tentando usar o recurso de Implantação Fácil para fazer upload de novos bots em automações existentes, e até agora isso não era possível, então mudamos isso.

Agora será possível implantar um bot para uma automação nova ou existente através deste recurso, facilitando a implantação de um novo bot em qualquer automação.

Duas opções para começar

Agora, no início do fluxo de Implantação Fácil, existem estas duas opções:

  • Criar nova automação
  • Escolher automação existente

Easy deploy - enable choose automation - New.png

Depois disso, os dois caminhos são bastante semelhantes, apenas com algumas diferenças. No caminho da automação existente, algumas informações já vêm preenchidas e algumas não podem ser editadas.

Sequência de telas para nova automação

Easy deploy - enable choose automation - New.png Easy deploy - enable choose automation - New-4.png Easy deploy - enable choose automation - New-1.png Easy deploy - enable choose automation - New-3.png

Sequência de telas para automação existente

Easy deploy - enable choose automation - Choose-5.png Easy deploy - enable choose automation - Choose-5.png Easy deploy - enable choose automation - Choose-3.png Easy deploy - enable choose automation - Choose-2.png Easy deploy - enable choose automation - Choose-1.png

Opção de liberar o bot

Agora é possível liberar o bot que está sendo implantado selecionando esta opção aqui:

Você precisa de um Runner para começar

Outra coisa que mudamos é que não é mais possível criar um novo Runner neste fluxo, então se o espaço de trabalho ainda não tiver um Runner, o usuário verá esta tela, levando-o para o download do SDK e instruções.

Easy deploy - enable choose automation - New (1).png

BotCity Studio SDK - 2.20.0

Warning

A atualização para esta nova versão é altamente recomendada, pois traz grandes melhorias para o BotCity Runner relacionadas à forma como os arquivos de log são tratados e à estabilidade geral.

BotCity Studio - Versão 2.20.0

Esta versão do BotCity Studio recebeu uma melhoria de recurso e várias correções de problemas/bugs.

Especificando um repositório durante a implantação

Se você usa o BotCity Studio para implantar, atualizar e liberar seus bots no Orquestrador BotCity, agora será possível especificar o repositório adequado para alocar seu bot.

Problemas/Bugs corrigidos

  • Corrigido um bug que fazia com que o Studio tirasse uma captura de tela quando * era pressionado no teclado numérico
  • Corrigido um problema que fazia com que o ícone do Studio piscasse na barra de inicialização quando uma captura de tela era tirada
  • Corrigido um problema que fazia com que a lista de arquivos do projeto ficasse dessincronizada com o disco
  • Corrigido um problema que fazia com que o painel de imagem da interface do usuário tivesse uma dimensão diferente da resolução da tela

Runner - Versão 2.8.4

A versão 2.8.4 do BotCity Runner traz melhorias de estabilidade contra problemas de conectividade, bem como melhorias de log há muito tempo desejadas.

Estabilidade

Agora, o BotCity Runner irá tentar novamente as operações se a comunicação com o Orquestrador BotCity falhar devido a um problema de conectividade.

Foi dado um foco especial ao procedimento de download do bot, no qual o BotCity Runner tentará o download até 5 vezes antes de relatar um erro.

Logs

Nas versões anteriores, o arquivo de log, log.txt, era constantemente redefinido sempre que o Runner era reiniciado. Além disso, não havia limite para o tamanho do arquivo, o que causava problemas para operações de longa duração.

A partir desta versão, os logs agora estão localizados dentro da pasta logs e nunca são sobrescritos.

Também adicionamos um recurso para rotacionar o log caso uma das seguintes situações ocorra:

  1. Um novo dia começa
  2. O log atinge 3MB de tamanho

Tip

Também adicionamos proteção para garantir que a pasta de logs não cresça indefinidamente.

O sistema automaticamente limpará os arquivos de log antigos quando o tamanho da pasta de logs atingir 1GB ou quando os arquivos tiverem mais de 7 dias.

Confira a documentação do BotCity Runner para opções de personalização e informações adicionais.

Problemas/Bugs corrigidos

  • Corrigido um problema que fazia com que o PYTHONPATH fosse sobrescrito pelo Runner

CLI - Versão 1.2.4

Esta nova versão do BotCity CLI traz muitas melhorias nos recursos, mensagens de erro melhores e saída visual dos comandos.

Especificando o repositório

Agora você pode especificar um repositório ao implantar um bot ou criar um novo log de execução.

Parâmetros para agendamento

Ao criar um novo agendamento para uma determinada automação, agora você pode especificar os parâmetros associados a essa instância de agendamento. Saiba mais e veja exemplos aqui.

Relatório de Tarefas Aprimorado

O comando de relatório de tarefas para exportar dados da fila de tarefas foi aprimorado para trazer mais informações.

Os novos campos são:

  • Rótulo do Repositório
  • Total de Itens, Itens Processados e Itens com Falha
  • Data de Início da Execução
  • Duração (Segundos)

Clique aqui para saber mais sobre esse recurso.

Melhor saída visual e mensagens de erro

BotCLI

Segurança

Nossa equipe atualizou todas as dependências externas para incorporar correções de upstream para possíveis vulnerabilidades e melhorias de desempenho.

Frameworks Python

Suporte para Python 3.12

Todos os frameworks e plugins agora são totalmente compatíveis com Python 3.12.

Se encontrar algum problema, por favor, informe à nossa equipe de Experiência em Automação.

BotCity Maestro SDK - Versão 0.5.1

Note

Esta versão remove a camada de compatibilidade com a API v1 do BotCity Orchestrator, que não está mais disponível em nenhum de nossos servidores.

Relatando o número total de itens processados, com sucesso e falha

Agora você pode especificar o número total de itens e o número de itens processados com sucesso e falha por cada uma de suas tarefas ao relatar o status de conclusão usando o método maestro.finish_task.

Important

Essa alteração é altamente recomendada, pois será um aspecto fundamental do BotCity Orchestrator e do BotCity Insights relacionados ao ROI, economia e FTEs.

Veja como você pode modificar seu código para relatar seus itens:

# Import for integration with BotCity Maestro SDK
from botcity.maestro import *

def main():
    ...
    maestro.finish_task(
        task_id=execution.task_id,
        status=AutomationTaskFinishStatus.SUCCESS,
        message="Task Finished with Success.",
      total_items=10,
      processed_items=6,
      failed_items=4
    )

...

Simulando chamadas do SDK quando desconectado

Agora você pode habilitar uma nova opção MOCK_OBJECT_WHEN_DISCONNECTED para retornar instâncias do objeto esperado ao executar o código desconectado do orquestrador.

Antes dessa opção, o SDK retornaria None ou uma função de stub que faria com que o código, como o exemplo abaixo, falhasse.

# Import for integration with BotCity Maestro SDK
from botcity.maestro import *

# Disable errors if we are not connected to Maestro
BotMaestroSDK.RAISE_NOT_CONNECTED = False
# Opt-in to receive mock objects when not connected to Maestro
BotMaestroSDK.MOCK_OBJECT_WHEN_DISCONNECTED = True

def main():
    maestro = BotMaestroSDK()
    maestro.from_sys_args()
    task = maestro.get_task("12345")
    print("Maestro Task: ", task)
    print("Task Interrupted: ", task.is_interrupted())

if __name__ == '__main__':
    main()

"""
This will generate the following output:

Maestro Task:
AutomationTask(
    id=0, state=<AutomationTaskState.START: 'START'>,
    parameters=None, input_file=None, activity_id=0,
    activity_label=None, agent_id=0,
    user_creation_id=0, user_creation_name=None,
    org_creation_id=0, date_creation=None, date_last_modified=None,
    finish_status=<AutomationTaskFinishStatus.FAILED: 'FAILED'>, finish_message=None,
    test=False, interrupted=False, killed=False, machine_id=None
)

Task Interrupted:  False
"""

Problemas/Bugs corrigidos

  • Corrigido um problema em que a sinalização VERIFY_SSL_CERT não estava sendo usada ao fazer solicitações
  • Corrigido um problema em que o valor timeout não estava sendo propagado corretamente quando configurado

BotCity Framework Web - Versão 1.0.0

Esta é uma versão importante, pois altera a versão principal do Selenium de 3 para 4.

Nossa equipe foi diligente ao criar uma camada de compatibilidade para evitar problemas com o código existente sempre que possível, sob as chamadas encapsuladas dos métodos.

Para usar esta nova versão, recomendamos que você altere a versão em seu arquivo requirements.txt para algo semelhante a isso:

botcity-framework-web>=1.0.0,<2.0

Suporte para o Selenium 4

Nosso framework foi atualizado para suportar a versão 4 do Selenium com uma camada de compatibilidade retroativa para a sintaxe do Selenium 3.x.

Se você encontrar algum problema, por favor, relate suas descobertas para nossa equipe de Experiência de Automação ou abra um problema em nosso repositório do GitHub.

Suporte experimental para undetected_chromedriver

Esta versão adiciona suporte experimental ao undetected_chromedriver como um dos navegadores possíveis. Saiba mais sobre o undetected_chromedriver clicando aqui.

Você pode experimentar alterando a propriedade browser para UNDETECTED_CHROME:

# Import the Browser enum
from botcity.web import WebBot, Browser

def main():
    # Instantiate the WebBot.
    bot = WebBot()

    # Configure whether or not to run on headless mode.
    bot.headless = False

    # Configure the browser as UNDETECTED CHROME
    bot.browser = Browser.UNDETECTED_CHROME

    ...

Important

Por favor, note que não há garantia de que sua automação não será detectada por mecanismos de detecção de bots.

Limpeza automática do navegador

Adicionamos um gancho atexit para garantir que stop_browser seja sempre invocado.

Isso ajuda a evitar problemas em que o código é deixado em execução e bloqueia o BotCity Runner até que o webdriver seja finalizado devido ao código não chamar stop_browser no final.

Problemas/Bugs corrigidos

  • Desativada a proteção de tela inteligente no Microsoft Edge
  • Corrigido um problema quando nenhuma guia estava ativa ao parar o navegador

Java Frameworks

BotCity Maestro SDK - Versão 2.2.0

Relatando o número total de itens processados, com sucesso e falha

Agora você pode especificar o número total de itens e o número de itens processados com sucesso e falha por cada uma de suas tarefas ao relatar o status de conclusão usando o método maestro.finishTask.

Important

Essa alteração é altamente recomendada, pois será um aspecto fundamental do BotCity Orchestrator e do BotCity Insights relacionados ao ROI, economia e FTEs.

Veja como você pode modificar seu código para relatar seus itens:

...

int totalItems = 10;
int processedItems = 6;
int failedItems = 4;

maestro.finishTask(
    task.id, "Task Finished with Success.", FinishStatus.SUCCESS,
  totalItems, processedItems, failedItems
);
...