Importante

Em 26 de outubro de 2024, o suporte do Robôs para o Python 3.8 e versões mais antigas das bibliotecas de dados foi encerrado.

Para evitar possíveis interrupções dos seus processos automatizados, você deve verificar que todos os scripts de produção agendados estejam em execução no ambiente do Python 3.11 no Robôs e produza as saídas corretas.

Scripts de produção ou desenvolvimento que não foram migrados para o Python 3.11 ainda podem ser executados, mas não há garantia de que funcionarão. Ou eles podem ser executados, mas produzir resultados incorretos.

A Diligent está realizando uma atualização gradual da versão do Python usado pelo Robôs. Os agentes do Robôs na nuvem será atualizado do Python 3.8.x para o Python 3.11.x. Durante um período de transição, as duas versões do Python serão compatíveis com o Robôs. Para obter mais detalhes, consulte Cronograma de atualização em fases no Robôs.

A atualização também inclui a atualização do número de bibliotecas associadas ao Python, incluindo Pandas (da versão 1.2.4 à 2.2.0) e Requests (da versão 2.26.0 à 2.31.0). Para obter uma lista de bibliotecas atualizada no Robôs, consulte Novas versões do Python e bibliotecas associadas.

Se a sua organização usa robôs HighBond ou robôs de fluxo de trabalho, leia este tópico para se familiarizar com as implicações da atualização. Os clientes do Robôs não podem recusar a atualização do Python.

A Python Software Foundation anunciou que o Python 3.8 será oficialmente encerrado em 14 de outubro de 2024.

Importante

Você precisa de tempo suficiente para testar todos os scripts Python/HCL antes de 26 de outubro de 2024, quando o Python 3.8 não estará mais disponível no Robôs. Para não interromper as tarefas agendadas dos robôs, faça as atualizações de script necessárias antes do prazo.

Possível incompatibilidade de lógica de script

Um ou mais scripts do Python/HCL podem ser afetados pela atualização para o Python 3.11. Se a lógica de script executada no Python 3.8 não for mais executada no Python 3.11, ou for executada, mas produzir resultados de saída incorretos, você precisará atualizar o lógica de script.

A maneira mais fácil de verificar se os seus scripts existentes são executados sem problemas no Python 3.11 é abri-los no editor de scripts do Robôs e tentar executá-los. Para obter mais informações, consulte Testar e refazer o commit de scripts Python/HCL existentes.

Informações de cabeçalho de script desatualizadas

As informações dos cabeçalhos de scripts Python/HCL especificam os números da versão do pacote HCL (HighBond Command Language), Python e bibliotecas associadas usadas pelo Robôs no momento em que o script foi confirmado (salvo) no editor de script do Robôs. Você pode baixar qualquer script e abri-lo em um editor de texto para ver as informações do cabeçalho.

Os exemplos abaixo mostram as informações do cabeçalho para scripts confirmados com os pacotes anterior e atual do HCL e ambientes de tempo de execução do Python.

Anterior: HCL 1.0 e Python 3.8

"environment": {
    "runtime": "python3.8",
    "requirements": ["boxsdk==3.0.1", "openpyxl==3.0.9", "Jinja2==3.0.3", "simple-salesforce==1.11.5", "jira==3.1.1", "hcl==1.0.*"]
}

Atual: HCL 3.0 e Python 3.11

"environment": {
    "runtime": "python3.11",
    "requirements": ["boxsdk==3.9.2", "openpyxl==3.1.2", "Jinja2==3.1.3", "simple-salesforce==1.12.5", "jira==3.8.0", "hcl==3.0.*"],
    "showCommitToastMessage": true
}}

Problemas com scripts desatualizados

Scripts com informações de cabeçalhos desatualizadas não estão impedidos de serem executados no ambiente de tempo de execução no HCL 3.0 e no Python 3.11. No entanto, você deve atualizar os scripts assim que possível para evitar os seguintes problemas:

  • Possíveis falhas nos scripts Um  script confirmado no Python 3.8 e versões mais antigas de bibliotecas associadas podem conter códigos descontinuados que causam a falha do script no Python 3.11.

  • Produção de saídas incorretas Um script pode ser executado, mas a saída pode não corresponder à saída produzida no ambiente de tempo de execução no Python 3.8.

  • Exibição de notificações de aviso Até que as informações do cabeçalho de um script sejam atualizadas, serão exibidas notificações de aviso na interface do usuário do Robôs junto com o script e o robô que contém o script. Para obter mais informações, consulte Notificações de aviso na interface do usuário do Robôs.

  • Proibição de ativação Até que as informações do cabeçalho de um script sejam atualizadas, você não poderá ativar o script pelos modos de desenvolvimento e de produção.

Como atualizar um script

Para atualizar um script para a versão mais recente do HCL e do Python, siga o processo:

  1. Abra o script no editor de scripts do Robôs e execute-o.

  2. Faça as atualizações necessárias na lógica do script.

  3. Salve e confirme o script

    Confirme as atualizações do cabeçalho do script para as versões atuais do HCL, do Python e das bibliotecas associadas.

  4. Se o script for usado em um robô de produção, ative o script para atualizá-lo no modo de produção.

Para obter as etapas detalhadas, consulte Testar e refazer o commit de scripts Python/HCL existentes.

Na interface do usuário do Robots, várias notificações de aviso aparecem alertando sobre versões de robôs e scripts que ainda estão associadas ao Python 3.8.

As notificações de aviso desaparecem para uma versão de robô e script quando você confirma e reativa o script no ambiente de execução do Python 3.11.

  • Painel do Robôs Ao acessar o painel Robôs, uma tabela aparece listando todos os robôs com um script de produção atual que foi confirmado e ativado no ambiente de execução do Python 3.8.

  • Robôs individuais no painel Um ícone de aviso aparece em robôs individuais do HighBond ou do Workflow com um script de produção atual que foi confirmado e ativado no ambiente de execução do Python 3.8.

  • Versões individuais do script No modo de desenvolvimento, uma mensagem de aviso aparece com qualquer versão de script que foi confirmada no ambiente de execução do Python 3.8.

Para garantir que os scripts Python/HCL existentes da sua organização estejam prontos para a transição para o Python 3.11, teste e confirme-os novamente no editor de scripts do Robots.

Abrir um script existente no editor de scripts

  1. Na página inicial do Launchpad (www.highbond.com), selecione o aplicativo Robôs para abri-lo.

    Se já tiver entrado na Diligent One, você pode usar o menu de navegação à esquerda para mudar para o aplicativo Robôs.

  2. No painel do Robôs, selecione a guia para o tipo de robô adequado:

    • Robôs HighBond

    • Robôs de fluxo de trabalho

  3. Navegue até um robô e selecione o robô para abri-lo.

  4. No canto superior direito do robô, clique em Desenvolvimento para mudar para o modo de desenvolvimento.

  5. Na guia Versões do script, selecione a versão do script que você deseja testar.

    Normalmente, você deve selecionar a versão do script que foi ativada para o modo de produção. Se nenhuma versão foi ativada, selecione a versão mais recente do script, a menos que tenha um motivo para selecionar uma versão diferente.

  6. No painel Detalhes da versão, clique em Editar script ou Editar.

    O editor de scripts do Robôs começa o processo de inicialização e carrega o ambiente de tempo de execução do Python 3.11.

Executar o script para testá-lo

Execute o script para testar se é compatível com o ambiente de tempo de execução do Python 3.11.

  1. Quando o processo de inicialização do editor de script for concluído, execute o script para testá-lo.

  2. Se o script for executado com sucesso, revise todos os resultados de saída para garantir que estejam corretos.

    Se o script for executado com sucesso e os resultados de saída estiverem corretos, o script será compatível com o Python 3.11 e suas bibliotecas associadas. Não serão necessários mais testes do script. Você pode salvar e confirmar o script para associá-lo ao HCL 3.0 e ao ambiente de execução do Python 3.11. Consulte Salvar e confirmar o script.

  3. Se o script falhar ou se os resultados de saída estiverem incorretos, atualize a lógica do script para resolver o problema.

    Observação

    Falha de script ou saída incorreta pode ou não estar relacionada à atualização do Python no Robots. Para obter mais informações, consulte Orientação para desenvolvedores de scripts do Robôs.

Salvar e confirmar o script

  1. Na barra de ferramentas do editor de scripts, clique em Salvar e confirmar.

  2. Insira uma mensagem de confirmação significativa para descrever suas alterações.

    Dica

    Sugerimos adicionar "É executado no Python 3.11" na mensagem de confirmação.

  3. Opcional. Selecione Salvar saída do script no arquivo de log da execução da tarefa.

    Quando você executa um script usando uma tarefa do robô, essa opção salva toda a saída do script em um arquivo de log. Pode ser útil revisar a saída salva quando você está desenvolvendo scripts e solucionando problemas neles. Para obter mais informações, consulte Salvando a saída de script em um arquivo de log.

  4. Clique em Confirmar para salvar e confirmar o script.

    A mensagem Seu script foi confirmado com sucesso é exibida.

  5. No cabeçalho da página, clique no nome do robô.

    Você volta para a guia Versões de script no robô. Toda vez que você salva e confirma um script, a versão salva é adicionada a esta guia.

  6. Opcional. Verifique se o script está associado ao ambiente de tempo de execução do Python 3.11:

    1. Selecione a versão do script que acabou de salvar.

    2. No painel Detalhes da versão, clique em Baixar.

      O script será baixado no seu computador.

    3. Abra o script em um editor de texto.

      O ambiente de execução Python associado aparece na parte superior do script:

      "runtime":"python3.11"
  7. Se o script for usado em um robô de produção, reative o script para atualizá-lo no modo de produção:

    1. Selecione a versão do script que acabou de salvar.

    2. No painel Detalhes da versão, clique em Ativar.

    3. Digite um comentário no histórico de versões para explicar por que você está reativando o script.

    4. Clique em Ativar número_da_versão.

      A versão do script é ativada e atualizada no modo de produção.

A tabela abaixo fornece datas e detalhes para a atualização em fases do Python e bibliotecas associadas no Robôs.

Data estimada Área afetada Detalhes

26 de outubro de 2024

Robôs HighBond

Robôs de fluxo de trabalho

Todos os scripts

Inclui scripts não editados em tarefas agendadas

  • Executável em Python 3.11 com as novas bibliotecas (Pandas 2.2.0 e Requests 2.31.0 e outras bibliotecas atualizadas). Não há nenhuma outra opção.

Importante

Scripts de produção ou desenvolvimento que não foram migrados para o Python 3.11 ainda podem ser executados, mas não há garantia de que funcionarão. Ou eles podem ser executados, mas produzir resultados incorretos.

Esses scripts devem ser testados e confirmados novamente no editor de scripts do Robôs para associá-los ao Python 3.11. Os scripts de produção precisam ser reativados para o modo de produção. Para obter mais informações, consulte Testar e refazer o commit de scripts Python/HCL existentes.

14 de outubro de 2024 Python 3.8

A Python Software Foundation anunciou que o Python 3.8 será oficialmente encerrado em 14 de outubro de 2024. Consulte Status das versões do Python.

Quando uma versão do Python chega ao fim de sua vida útil, a equipe de desenvolvimento do Python não corrige mais nenhum novo bug de segurança relatado para essa versão.

12 de julho de 2024

Robôs HighBond

Robôs de fluxo de trabalho

Script existente criado antes da atualização do Python no Robôs

  • Se ativado anteriormente no modo de produção, aparece em uma tabela no painel do Robôs que lista todos os robôs com um script de produção Python 3.8.

  • Um ícone de aviso aparece em robôs individuais com um script de produção Python 3.8. O ícone de aviso desaparece quando você confirma e reativa o script no ambiente de execução do Python 3.11.

  • Em tarefas agendadas, continue executando no Python 3.8, desde que o script não seja editado.

4 de julho de 2024

Robôs HighBond

Robôs de fluxo de trabalho

Todos os scripts

  • Os scripts Python 3.8 ou 3.11 associados a bibliotecas antigas (Pandas 1.2.4, Requests 2.26.0) não podem ser rebaixados, carregados ou ativados manualmente. Além disso, scripts que são incompatíveis com Python 3.11 ou HCL 3.0 não podem ser carregados ou ativados por meio de APIs ou kits de ferramentas.

Script existente criado antes da atualização do Python no Robôs

  • Em tarefas agendadas, continue executando no Python 3.8, desde que o script não seja editado.

4 de abril de 2024 Robôs de fluxo de trabalho
  • Atualização inicial para Python 3.11

Script recém-criado

  • Executável na versão mais recente do Python com as bibliotecas correspondentes (Python 3.11, Pandas 2.2.0 e Requests 2.31.0). Não há nenhuma outra opção.

Script existente criado antes da atualização do Python no Robôs

  • Em tarefas agendadas, continue executando no Python 3.8, desde que o script não seja editado.

  • Se for aberto no editor de scripts do Robôs, o padrão será a execução em Python 3.11. Até o final de junho de 2024, o editor de scripts fornece uma opção para rebaixar manualmente os scripts existentes para execução no Python 3.8.

4 de abril de 2024 Robôs HighBond

Script recém-criado

  • Executável na versão mais recente do Python com as bibliotecas correspondentes (Python 3.11, Pandas 2.2.0 e Requests 2.31.0). Não há nenhuma outra opção.

Script existente criado antes da atualização do Python no Robôs

  • Em tarefas agendadas, continue executando no Python 3.8, desde que o script não seja editado.

  • Se for aberto no editor de scripts do Robôs, o padrão é executar na versão mais recente do Python com as bibliotecas correspondentes (Python 3.11, Pandas 2.2.0 e Requests 2.31.0). Até o final de junho de 2024, o editor de scripts fornece uma opção para rebaixar manualmente os scripts existentes para execução no Python 3.8.

Script atualizado para Python 3.11 após dezembro de 2023

  • Em tarefas agendadas, continue executando em Python 3.11 com as bibliotecas antigas (Pandas 1.2.4, Requests 2.26.0), desde que o script não seja editado.

  • Se estiver aberto no editor de scripts do Robôs, o padrão é executar na versão mais recente do Python com as bibliotecas correspondentes (Python 3.11, Pandas 2.2.0, Requests 2.31.0). Até o final de junho, o editor de scripts oferece uma opção de downgrade manual dos scripts existentes para execução em Python 3.11 com as bibliotecas antigas (Pandas 1.2.4, Requests 2.26.0).

Meados de dezembro de 2023 Robôs HighBond
  • Atualização inicial para Python 3.11

Script recém-criado

  • Executável em Python 3.11, Pandas 1.2.4 e Requests 2.26.0. Não há nenhuma outra opção.

Script existente criado antes da atualização do Python no Robôs

  • Em tarefas agendadas, continue executando no Python 3.8, desde que o script não seja editado.

  • Se for aberto no editor de scripts do Robôs, o padrão será a execução em Python 3.11. Por um período limitado, o editor de scripts fornece uma opção para rebaixar manualmente os scripts existentes para execução no Python 3.8.

A tabela abaixo lista as versões atuais e anteriores do Python e bibliotecas associadas compatíveis com o Robôs. Consulte os recursos vinculados para obter informações sobre alterações específicas nas novas versões.

Versão atual compatível Versão anterior compatível

Python3.11

Novidades no Python 3.11

Python 3.8

Pandas 2.2.0

Novidades no Pandas 2.2.0

Pandas 1.2.4

Requests 2.31.0

Notas de versão do Requests 2.31.0

Requests 2.26.0

NumPy >= 1.23.3

Notas de versão do NumPy >= 1.23.3

NumPy 1.16.5

Cryptography >= 39.0.0

Logs de alteração do Cryptography 39.0.0

Cryptography 3.4.7

Boxsdk 3.9.2

Notas de versão do Boxsdk 3.9.2

Boxsdk 3.0.1

Openpyxl 3.1.2

Notas de versão do Openpyxl 3.1.2

Openpyxl 3.1.2

Jinja 3.1.3

Notas de versão do Jinja 3.1.3

Jinja 3.0.3

Simple-salesforce 1.12.5

Notas de versão do Simple-Salesforce 1.12.5

Simple-salesforce 1.11.5

Jira 3.8.0

Notas de versão do Jira 3.8.0

Jira 3.1.1

Informações detalhadas sobre alterações nas versões do Python e bibliotecas associadas no HCL 3.0 estão além do escopo deste tópico de Ajuda. Algumas orientações gerais são fornecidas abaixo. Para obter informações detalhadas, comece consultando os recursos vinculados acima.

Falha de script não associada à atualização do Python

A falha de um script do Robôs pode ou não ser causada pela atualização do Python no Robôs da versão 3.8 para 3.11. Por exemplo:

  • A falha de script com um código de status 401 (Não autorizado) provavelmente é causada por um problema com o token de acesso da Diligent One especificado pelo script. Para obter mais informações, consulte Gerenciando tokens de acesso .

  • Falha de script com código de status 404 (Não encontrado) pode ser causada por uma atribuição de variável ausente ou incorreta no script. Para obter mais informações, consulte Uso de variáveis em um script Python/HCL.

Falha de script ou saída incorreta, possivelmente associada à atualização do Python

Se um script agendado estiver sendo executado com sucesso e falhar durante a última semana de outubro de 2024, a falha provavelmente está relacionada à atualização do Python e suas bibliotecas associadas. O mesmo acontece se um script continua a ser executado com sucesso, mas começa a gerar resultados incorretos ou inesperados.

  • Funções e métodos descontinuados Uma função ou método descontinuado em Python, Pandas ou uma das outras bibliotecas associadas pode ser a raiz do problema. Execute o script com falha no editor de scripts do Robôs e examine cuidadosamente todas as mensagens de erro retornadas pelo script. Tente usar o Assistente de script de IA durante a solução de problemas.

  • Várias versões intermediárias Várias versões intermediárias do Python, Pandas e outras bibliotecas associadas foram lançadas entre as versões usadas nos pacotes HCL 1.0 e HCL 3.0. Talvez seja necessário revisar informações associadas a diversas versões de uma biblioteca para identificar a origem de um problema.

  • Mudanças drásticas do Pandas Algumas das mudanças introduzidas por versões sucessivas da biblioteca Pandas podem fazer com que os scripts HCL 1.0 falhem no Robôs. As principais alterações incluem, mas não estão limitadas às alterações abaixo.

    • append() – método descontinuado

    • astype() – comportamento alterado

    • groupby() – comportamento alterado da operação

    • read_csv() – alterações de parâmetros

    • split() – alterações de parâmetros

    • str.replace() – alteração de parâmetro