Mejora a Python 3.11 en Robots

Importante

El 26 de octubre de 2024 finalizó la compatibilidad de Robots con Python 3.8 y las versiones anteriores de las bibliotecas asociadas.

Para evitar posibles interrupciones de sus procesos automatizados, debe verificar que todos los scripts de producción programados se ejecutan en el entorno Robots Python 3.11, y producen una salida correcta.

Los scripts de producción o desarrollo que no hayan pasado a Python 3.11 pueden seguir ejecutándose, pero no se garantiza que lo hagan. O pueden ejecutarse, pero producir resultados incorrectos.

Diligent is performing a phased upgrade of the version of Python used by Robots. The cloud-based Robots Agent will be upgraded from Python 3.8.x to Python 3.11.x. During a transition period, both versions of Python will be supported by Robots. For details, see Programación por fases de las mejoras en los robots.

La actualización también incluye la puesta al día de varias bibliotecas asociadas a Python, como Pandas (de la versión 1.2.4 a la 2.2.0) y Requests (de la versión 2.26.0 a la 2.31.0). Para obtener una lista de las bibliotecas actualizadas en Robots, consulte Nuevas versiones de Python y bibliotecas asociadas.

Si su organización utiliza robots HighBond o robots de flujo de trabajo, lea este tema para familiarizarse con las repercusiones de la mejora. Los clientes de Robots pueden elegir no aplicar la mejora de Python.

La Python Software Foundation ha anunciado que Python 3.8 finalizará su ciclo de vida oficialmente el 14 de octubre de 2024.

Impacto para los clientes

Importante

Pruebe sus scripts de Python/HCL con tiempo antes del 26 de octubre de 2024, cuando Python 3.8 dejará de estar disponible en Robots. Para evitar interrupciones en las tareas programadas de robots, actualice los scripts con tiempo suficiente antes del fin de plazo.

Posibilidad de lógica de script incompatible

Uno o varios de sus scripts de Python/HCL podrían verse afectados por la mejora a Python 3.11. Si la lógica de script que se ejecuta en Python 3.8 deja de funcionar en Python 3.11, o se ejecuta pero produce resultados de salida incorrectos, es necesario actualizar la lógica de script.

La manera más sencilla de comprobar si sus scripts actuales se ejecutan sin inconvenientes en Python 3.11 es abrirlos en el editor de scripts de Robots y ejecutarlos. Si desea obtener más información, consulte Probar y volver a comprometer los scripts de Python/HCL existentes.

Información de cabecera de script obsoleta

La información de encabezado de los scripts Python/HCL especifica los números de versión del paquete HCL (HighBond Command Language), Python y las bibliotecas asociadas utilizadas por Robots en el momento en que el script se confirmó (guardó) en el editor de scripts de Robots. Puede descargar cualquier script y abrirlo en un editor de texto para ver la información de encabezado.

Los ejemplos siguientes muestran información de encabezado para scripts confirmados con paquetes HCL anteriores y actuales y entornos de tiempo de ejecución de Python.

Anterior: HCL 1.0 y 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.*"]
}

Actual: HCL 3.0 y 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 con guiones obsoletos

Los scripts con información de encabezado obsoleta no tienen prohibido ejecutarse en HCL 3.0 y en el entorno de ejecución de Python 3.11. Sin embargo, debe actualizar los scripts lo antes posible para evitar los siguientes problemas:

  • Los scripts pueden fallar Un script compilado bajo Python 3.8 y versiones anteriores de las librerías asociadas puede contener código obsoleto que cause que el script falle en Python 3.11.

  • Los scripts pueden producir una salida incorrecta Un script puede ejecutarse, pero la salida puede no coincidir con la salida producida en el entorno de ejecución de Python 3.8.

  • Warning notifications appear Until a script's header information is updated, warning notifications in the Robots user interface appear with the script, and with the robot that contains the script. For more information, see Notificaciones de advertencia en la interfaz de usuario de los robots.

  • Se prohíbe la activación Hasta que no se actualice la información de encabezado de un script, se prohíbe activar el script del modo de desarrollo al de producción.

Cómo actualizar un script

Para actualizar un script a la versión actual de HCL y Python, siga este proceso:

  1. Abra el script en el editor de scripts Robots y ejecútelo.

  2. Realice las actualizaciones necesarias en la lógica del script.

  3. Guardar, confirmar y enviar el script.

    Al compilar el script, se actualiza la cabecera del script con las versiones actuales de HCL, Python y las bibliotecas asociadas.

  4. Si el script se utiliza en un robot de producción, actívelo para actualizarlo en modo de producción.

Si desea conocer los pasos detallados, consulte Probar y volver a comprometer los scripts de Python/HCL existentes.

Notificaciones de advertencia en la interfaz de usuario de los robots

En la interfaz de usuario de Robots, aparecen varias notificaciones de advertencia alertando de robots y versiones de scripts que aún están asociados a Python 3.8.

Las notificaciones de advertencia desaparecen para un robot y una versión de script una vez que se vuelve a comprometer y reactivar el script en el entorno de ejecución de Python 3.11.

  • Panel de Robots Al acceder al panel de Robots, aparece una tabla con una lista de todos los robots con un script de producción actual que se ha confirmado y activado en el entorno de ejecución de Python 3.8.

  • Robots individuales en el panel Aparecerá un icono de advertencia en los robots individuales de HighBond o Flujo de trabajo con un script de producción actual que se haya confirmado y activado en el entorno de tiempo de ejecución de Python 3.8.

  • Versiones de script individuales En el modo de desarrollo, aparece un mensaje de advertencia con cualquier versión de script que se haya confirmado en el entorno de ejecución de Python 3.8.

Probar y volver a comprometer los scripts de Python/HCL existentes

Para asegurarse de que los scripts de Python/HCL existentes en su organización están listos para la transición a Python 3.11, pruébelos y vuelva a comprometerlos en el editor de scripts de Robots.

Abra un script existente en el editor de scripts.

  1. Desde la página de inicio de Launchpad (www.highbond.com), seleccione la aplicación Robots para abrirla.

    Si ya se encuentra en Diligent One, puede utilizar el menú de navegación de la izquierda para pasar a la aplicación Robots.

  2. En el tablero de mando de Robots, seleccione la ficha para el tipo de robot adecuado:

    • Robots HighBond

    • Robots de flujo de trabajo

  3. Navegue hasta un robot y selecciónelo para abrirlo.

  4. En la esquina superior derecha del robot, haga clic en Desarrollo para cambiar al Modo desarrollo.

  5. En la ficha Versiones del script, seleccione la versión del script que desea probar.

    Normalmente, debe seleccionar la versión del script que se ha activado para el modo de producción. Si no se ha activado ninguna versión, seleccione la versión más reciente del script, a menos que tenga motivos para seleccionar una versión diferente.

  6. En el panel de Detalles de la versión, haga clic en Editar script o Editar.

    El editor de scripts de Robots inicia el proceso de arranque y carga el entorno de tiempo de ejecución de Python 3.11.

Ejecutar el script para probarlo

Ejecute el script para probar si es compatible con el entorno de tiempo de ejecución de Python 3.11.

  1. Cuando finalice el proceso de inicio del editor de scripts, ejecute el script para probarlo.

  2. Si el script se ejecuta correctamente, revise los resultados de salida para asegurarse de que son correctos.

    Si el script se ejecuta correctamente, y los resultados de salida son correctos, el script es compatible con Python 3.11 y sus librerías asociadas. No es necesario realizar ninguna otra prueba. Puede guardar, confirmar y enviar el script para asociarlo con HCL 3.0 y al entorno de tiempo de ejecución de Python 3.11. Consulte Guardar, confirmar y enviar el script.

  3. Si el script falla, o si los resultados de salida son incorrectos, actualice la lógica del script para solucionar el problema.

    Nota

    Script failure, or incorrect output, may or may not be related to the Python upgrade in Robots. For more information, see Orientación para desarrolladores de scripts de Robots.

Guardar, confirmar y enviar el script

  1. En la barra de herramientas del editor de scripts, haga clic en Guardar y confirmar y enviar.

  2. Ingrese un mensaje de confirmación significativo para describir sus cambios.

    Consejo

    Le puede resultar útil agregar "Se ejecuta en Python 3.11" en el mensaje de confirmación y envío.

  3. Opcional. Seleccione Guardar el resultado del script en el archivo de log de ejecución de la tarea.

    Cuando ejecuta un script usando una tarea del robot, esta opción guarda todos los resultados del script en un archivo de log. El resultado guardado puede ser útil para la revisión durante el desarrollo y la solución de problemas de los scripts. Si desea obtener más información, consulte Guardar el resultado del script en un archivo de log.

  4. Haga clic en Confirmar y enviar para guardar, confirmar y enviar el script.

    Aparecerá el mensaje El script se confirmó y envió correctamente.

  5. En el encabezado de la página, haga clic en el nombre del robot.

    Regresa a la ficha Versiones del script del robot. Cada vez que guarda, confirma y envía un script, la versión guardada se agrega a esta ficha.

  6. Opcional. Verifique que el script esté asociado al entorno de tiempo de ejecución de Python 3.11:

    1. Seleccione la versión del script que acaba de guardar.

    2. En el panel Detalles de la versión, haga clic en Descargar.

      El script se descarga en su computadora.

    3. Abra el script en un editor de texto.

      El entorno de tiempo de ejecución de Python asociado aparece en la parte superior del script:

      "runtime":"python3.11"
  7. Si el script se utiliza en un robot de producción, reactívelo para actualizarlo en modo de producción:

    1. Seleccione la versión del script que acaba de guardar.

    2. En el panel Detalles de la versión, haga clic en Activar.

    3. Introduzca un comentario en el historial de versiones para explicar por qué está reactivando el script.

    4. Haga clic en Activar Número_de_versión.

      La versión del script se activa y actualiza en modo de producción.

Programación por fases de las mejoras en los robots

La tabla siguiente proporciona fechas y detalles para la actualización por fases de Python y las bibliotecas asociadas en Robots.

Fecha estimada Área afectada Detalles

26 de octubre de 2024

Robots HighBond

Robots de flujo de trabajo

Todos los scripts

Incluye los scripts sin editar de las tareas programadas

  • Ejecutarse en Python 3.11 con las bibliotecas nuevas (Pandas 2.2.0, Requests 2.31.0 y otras bibliotecas actualizadas). No existe ninguna otra opción.

Importante

Los scripts de producción o desarrollo que no hayan pasado a Python 3.11 pueden seguir ejecutándose, pero no se garantiza que lo hagan. O pueden ejecutarse, pero producir resultados incorrectos.

Estos scripts deben ser probados y recomprometidos en el editor de scripts Robots para asociarlos con Python 3.11. Es necesario reactivar los scripts de producción al modo de producción. Si desea obtener más información, consulte Probar y volver a comprometer los scripts de Python/HCL existentes.

14 de octubre de 2024 Python 3.8

La Python Software Foundation ha anunciado que Python 3.8 finalizará su ciclo de vida oficialmente el 14 de octubre de 2024. Consulte el estado de las versiones de Python.

Una vez que una versión de Python llega al final de su vida útil, el equipo de desarrollo de Python deja de corregir los nuevos errores de seguridad notificados para esa versión.

12 de julio de 2024

Robots HighBond

Robots de flujo de trabajo

Script existente creado antes de la mejora de Python en Robots

  • Si se ha activado previamente al modo de producción, aparece en una tabla del panel de Robots que enumera todos los robots con un script de producción de Python 3.8.

  • Aparece un icono de advertencia en los robots individuales con un script de producción de Python 3.8. El icono desaparece al volver a comprometer y reactivar el script en el entorno de ejecución Python 3.11.

  • En las tareas programadas, se continúa ejecutando en Python 3.8 siempre que el script no se edite.

4 de julio de 2024

Robots HighBond

Robots de flujo de trabajo

Todos los scripts

  • Los scripts de Python 3.8 o 3.11 asociados a librerías antiguas (Pandas 1.2.4, Requests 2.26.0) no se pueden degradar, cargar o activar manualmente. Adicionalmente, los scripts que no son compatibles con Python 3.11 o HCL 3.0 no se pueden cargar ni activar a través de las API o los juegos de herramientas.

Script existente creado antes de la mejora de Python en Robots

  • En las tareas programadas, se continúa ejecutando en Python 3.8 siempre que el script no se edite.

4 de abril de 2024 Robots de flujo de trabajo
  • Actualización inicial a Python 3.11

Script recién creado

  • Se ejecuta en la última versión de Python con las bibliotecas correspondientes (Python 3.11, Pandas 2.2.0 y Requests 2.31.0). No existe ninguna otra opción.

Script existente creado antes de la mejora de Python en Robots

  • En las tareas programadas, se continúa ejecutando en Python 3.8 siempre que el script no se edite.

  • Si se abre en el editor de scripts de Robots, se configura la ejecución en Python 3.11 de manera predeterminada. Hasta finales de junio de 2024, el editor de scripts ofrecerá la opción de reducir manualmente a Python 3.8 la versión de los scripts existentes.

4 de abril de 2024 Robots HighBond

Script recién creado

  • Se ejecuta en la última versión de Python con las bibliotecas correspondientes (Python 3.11, Pandas 2.2.0 y Requests 2.31.0). No existe ninguna otra opción.

Script existente creado antes de la mejora de Python en Robots

  • En las tareas programadas, se continúa ejecutando en Python 3.8 siempre que el script no se edite.

  • Por opción predeterminada, si se abre en el editor de scripts de Robots, se ejecuta en la versión más reciente de Python con las bibliotecas correspondientes (Python 3.11, Pandas 2.2.0 y Requests 2.31.0). Hasta finales de junio de 2024, el editor de scripts ofrecerá la opción de reducir manualmente a Python 3.8 la versión de los scripts existentes.

Script mejorado a Python 3.11 después de diciembre de 2023

  • En las tareas programadas, se continúa ejecutando en Python 3.11 con las bibliotecas anteriores (Pandas 1.2.4, Requests 2.26.0), siempre que el script no se edite.

  • Por opción predeterminada, si se abre en el editor de scripts de Robots, se ejecuta en la versión más reciente de Python con las bibliotecas correspondientes (Python 3.11, Pandas 2.2.0, Requests 2.31.0). Hasta finales de junio de 2024, l editor de scripts ofrecerá la opción de reducir manualmente a Python 3.11 con las bibliotecas anteriores (Pandas 1.2.4., Requests 2.26.0).

Mediados de diciembre de 2023 Robots HighBond
  • Actualización inicial a Python 3.11

Script recién creado

  • Se ejecuta en Python 3.11, Pandas 1.2.4 y Requests 2.26.0. No existe ninguna otra opción.

Script existente creado antes de la mejora de Python en Robots

  • En las tareas programadas, se continúa ejecutando en Python 3.8 siempre que el script no se edite.

  • Si se abre en el editor de scripts de Robots, se configura la ejecución en Python 3.11 de manera predeterminada. Por un tiempo limitado, el editor de scripts ofrecerá la opción de reducir manualmente a Python 3.8 la versión de los scripts existentes.

Nuevas versiones de Python y bibliotecas asociadas

En la tabla siguiente se enumeran las versiones actuales y anteriores de Python y las bibliotecas asociadas compatibles con Robots. Consulte los recursos vinculados para obtener información sobre los cambios específicos de las nuevas versiones.

Versión actual compatible Versión anterior compatible

Python 3.11

Novedades de Python 3.11

Python 3.8

Pandas 2.2.0

Novedades de Pandas 2.2.0

Pandas 1.2.4

Requests 2.31.0

Notas de la versión de Requests 2.31.0

Requests 2.26.0

NumPy >= 1.23.3

Notas de la versión de NumPy 1.23.3

NumPy 1.16.5

Cryptography >= 39.0.0

Log de cambios de Cryptography 39.0.0

Cryptography 3.4.7

Boxsdk 3.9.2

Notas de la versión de Boxsdk 3.9.2

Boxsdk 3.0.1

Openpyxl 3.1.2

Notas de la versión de Openpyxl 3.1.2

Openpyxl 3.0.9

Jinja 3.1.3

Notas de la versión de Jinja 3.1.3

Jinja 3.0.3

Simple-salesforce 1.12.5

Notas de la versión de Simple-Salesforce 1.12.5

Simple-salesforce 1.11.5

Jira 3.8.0

Notas de la versión de Jira 3.8.0

Jira 3.1.1

Orientación para desarrolladores de scripts de Robots

La información detallada sobre los cambios en las versiones de Python y las bibliotecas asociadas en HCL 3.0 está fuera del alcance de este tema de Ayuda. A continuación se ofrecen algunas orientaciones generales. Para obtener información detallada, empiece por consultar los recursos enlazados más arriba.

Fallo de script no asociado a la actualización de Python

El fallo de un script de Robots puede o no estar causado por la actualización de Python en Robots de la versión 3.8 a la 3.11. Por ejemplo:

  • El fallo del script con un código de estado 401 (No autorizado) está causado muy probablemente por un problema con el token de acceso de HighBond especificado por el script. Si desea obtener más información, consulte Administrar tokens de acceso .

  • El fallo del script con un código de estado 404 (No encontrado) puede deberse a una asignación de variable omitida o incorrecta en el script. Si desea obtener más información, consulte Uso de variables en un script Python/HCL.

Fallo de script, o salida incorrecta, posiblemente asociado a la actualización de Python.

Si una secuencia de comandos programada se ha estado ejecutando correctamente y falla durante la última semana de octubre de 2024, es probable que el fallo esté relacionado con la actualización de Python y sus bibliotecas asociadas. Lo mismo ocurre si un script sigue ejecutándose correctamente pero empieza a dar resultados incorrectos o inesperados.

  • Funciones y métodos obsoletos Una función o método obsoleto en Python, Pandas, o una de las otras bibliotecas asociadas puede ser la raíz del problema. Ejecute el script que falla en el editor de scripts de Robots y examine cuidadosamente cualquier mensaje de error devuelto por el script. Intente utilizar el Asistente de script de IA durante la resolución de problemas.

  • Múltiples versiones intermedias Entre las versiones utilizadas en los paquetes HCL 1.0 y HCL 3.0 se publicaron varias versiones intermedias de Python, Pandas y otras bibliotecas asociadas. Es posible que tenga que revisar la información asociada a varias versiones de una biblioteca para identificar el origen de un problema.

  • Cambios de ruptura de Pandas Algunos de los cambios introducidos por las sucesivas versiones de la librería de Pandas pueden hacer que los scripts HCL 1.0 fallen en Robots. Los cambios de última hora incluyen, entre otros, los que se indican a continuación.

    • append() – método obsoleto

    • astype() – comportamiento cambiado

    • groupby() – cambio de comportamiento de funcionamiento

    • read_csv() – cambios de parámetros

    • split() – cambios de parámetros

    • str.replace() – cambios de parámetro