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.
Clique neste botão para encontrar trechos de código para vários casos de uso.
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.
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.
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.
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".
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
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.
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.
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:
- Um novo dia começa
- 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¶
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:
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: