Parte 2: Aumente sus conocimientos
En la Parte 2 del tutorial, usted usa la creación de scripts en Robots y la API de HighBond para automatizar completamente el proceso que automatizó parcialmente en la Parte 1.
Nota
Debe haber creado el robot y el script en la Parte 1 antes de poder completar la Parte 2.
¿Qué aprenderé?
Aprenderá cómo hacer lo siguiente:
-
usar la API de HighBond para interactuar con varios objetos de Diligent One relacionados
-
crear una tarea y programar un script para automatizar un proceso en su totalidad
Extender el script para hacer más cosas
Recuerde que en la Parte 1 del tutorial tuvo que crear manualmente una colección y un análisis en Resultados, recuperar el identificador exclusivo del análisis y pegarlo en el código dentro de una celda del editor de scripts.
¿Y si desea un análisis independiente para cada mes y una colección independiente para cada año? Por medio del método manual, tendría que acordarse, con anticipación, de crear un nuevo análisis todos los meses y de actualizar el script con el identificador del nuevo análisis. Y una vez al año, necesitaría acordarse de crear una nueva colección.
Vamos a extender el script para utilizar la API de HighBond a fin de crear automáticamente un nuevo análisis todos los meses y una nueva colección cada año, de modo que no sea necesario depender de un proceso manual e inmanejable, en el que se pueden cometer errores. También vamos a crear una tarea programada para ejecutar el script automáticamente.
Recuperar el token de la API de HighBond y actualizar la variable de contraseña
Iniciar sesión en Diligent One
Si todavía no inició sesión en Diligent One, hágalo.
- Vaya a www.highbond.com.
- Escriba sus credenciales de Diligent One (correo electrónico y contraseña).
- Haga clic en Iniciar sesión.
- Si su empresa utiliza más de una instancia en Diligent One, asegúrese de que la instancia apropiada esté activa.
Recuperar el token de la API de HighBond
- En Launchpad, seleccione > Mi perfil.
- En la sección Tokens de la aplicación, haga clic en Administrar.
Se abre la página Administrar tokens API.
- En la columna Token, haga clic en el token que desee usar.
Consejo
Utilice la lista desplegable Todos los tipos para mostrar únicamente los tokens de la API de HighBond.
También puede crear un nuevo token si el token que utilizó antes ya no está disponible. Si desea obtener más información, consulte Crear un token de API de HighBond en Launchpad.
- Introduzca su contraseña de Diligent One y haga clic en Confirmar.
Su token aparece en un cuadro de diálogo.
- Haga clic en Copiar para copiar el token al portapapeles.
- En este momento, o más adelante, haga clic en el botón de cierre ubicado en la esquina superior derecha del cuadro de diálogo.
Consejo
Es posible que desee que se pueda acceder fácilmente al token. Debe proporcionarlo más adelante en el tutorial, cuando cree una tarea programada para ejecutar el script de forma automática.
Recuerde que el token es como una contraseña revelada y no debe dejarlo expuesto durante más tiempo del necesario.
Actualizar la variable de contraseña
-
Abra la aplicación Robots en una ficha independiente:
-
Haga clic en Cambiar aplicaciones .
-
Haga clic con el botón derecho en Robots y seleccione Abrir el enlace en una ficha nueva.
-
-
Vaya a la ficha del navegador en la cual está abierta la aplicación Robots.
-
Abra el robot que creó en la Parte 1 del tutorial.
-
En la esquina superior derecha del robot, haga clic en Desarrollo para cambiar al Modo desarrollo.
-
En la ficha Versiones del script, seleccione la versión más reciente del script y en el panel Detalles de la versión haga clic en Editar script.
El editor de scripts de Robots comienza el proceso de puesta en marcha.
-
En el editor de scripts de Robots, haga clic en Administrar variables .
-
En la ventana Variables, pegue el token de la API de HighBond desde el portapapeles en el campo Valor para la variable v_hb_token.
- Haga clic en Guardar y cerrar.
Resultado Se actualiza la variable y usted regresa al editor de scripts.
Nota
Como medida de seguridad, cada vez que salga del editor de scripts o lo actualice, el token de la API de HighBond se elimina automáticamente de la variable de contraseña. Si desea ejecutar un script que utilice la API de HighBond, debe volver a pegar un token válido en la variable cada vez que reabra o actualice el editor de scripts.
Si se olvida de realizar este paso, obtendrá un mensaje de error al ejecutar el script.
HTTPError: 401 Client Error: Unauthorized for url: <url>
Copiar y pegar bloques de código en las celdas del editor de scripts
Va a utilizar el mismo método que usó en la Parte 1 para copiar y pegar bloques de código en las celdas del editor de scripts. Si ha pasado algún tiempo desde que completó la Parte 1, revise las Pautas.
Nota
Va a volver a usar el script y las celdas que ya creó en la Parte 1 e insertar dos celdas más. No es necesario actualizar el contenido de algunas celdas.
-
Desde la siguiente tabla, copie y pegue cada bloque de código en celdas independientes en el editor de scripts.
Si desea insertar una celda entre dos celdas existentes, seleccione la primera celda y haga clic en Agregar una celda debajo en la barra de herramientas del editor de scripts.
Consejo
La manera más confiable de actualizar código en una celda existente consiste en hacer clic en la celda y presionar Ctrl+A para seleccionar todo el contenido. A continuación, se puede eliminar el contenido o pegar sobre el contenido.
-
Después de pegar el código de una celda y realizar las actualizaciones especificadas en el código, haga clic en Ejecutar la celda seleccionada para ver la salida.
Descripciones de celdas y bloques de código
Nota
¿Logró recuperar el token de la API de HighBond y actualizar la variable de contraseña?
Si en algún momento obtiene un error de Python (un bloque de error rojo), consulte Resolución de problemas.
N°. de celda | Bloque de código y descripción |
---|---|
Celda 1 |
Importar los componentes necesarios La Celda 1 permanece sin cambios respecto de la Parte 1 del tutorial y no es necesario actualizarla.
Al ejecutar esta celda, no hay una salida visible. |
Bloque de código para la celda 1
|
|
Celda 2 |
Definir las variables que se usan en el script Actualice el código de la celda 2 para agregar más variables necesarias para extender el script. |
Bloque de código para la celda 2
Ejemplo de la salida de la celda date = 29-Sep-2021 |
|
Celda 3 |
Crear una Colección en Resultados El código de la celda 3 utiliza la API de HighBond para encontrar o crear la colección de Resultados con el nombre que usted especificó en la celda anterior (el valor de Nota Este bloque de código representa el primer paso clave para automatizar totalmente el proceso. Usted utiliza Python, HCL y la API de HighBond para encontrar o crear una colección en la aplicación Resultados a nivel de la programación. No es necesario que abra la aplicación ni interactúe manualmente con ella. |
Bloque de código para la celda 3
Ejemplo de la salida de la celda The ID of the newly created collection is 124661 |
|
Celda 4 |
Crear un análisis en Resultados El código de la celda 4 utiliza la API de HighBond para encontrar o crear el análisis de Resultados con el nombre que usted especificó en la celda 2 (el valor de Nota Este bloque de código representa el siguiente paso clave para automatizar totalmente el proceso. Usted utiliza Python, HCL y la API de HighBond para encontrar o crear un análisis en la aplicación Resultados a nivel de la programación. No es necesario que abra la aplicación ni interactúe manualmente con ella. El código ubica el análisis dentro de la colección que usted encontró o creó en la celda anterior. |
Bloque de código para la celda 4
Ejemplo de la salida de la celda The ID of the newly created analysis is 93672 |
|
Celda 5 |
Crear una tabla en Resultados Si mantuvo el orden correcto de las celdas, el código para encontrar o crear una tabla en Resultados ahora se encuentra en la celda 5. El código permanece sin cambios desde la Parte 1 del tutorial y usted no necesita actualizarlo, salvo para actualizar el identificador de la celda en la línea 1.
Nota Este bloque de código representa el paso clave final para automatizar totalmente el proceso. Usted utiliza Python, HCL y la API de HighBond para encontrar o crear una tabla en la aplicación Resultados a nivel de la programación. No es necesario que abra la aplicación ni interactúe manualmente con ella. El código ubica la tabla dentro del análisis que usted encontró o creó en la celda anterior. |
Bloque de código para la celda 5
Ejemplo de la salida de la celda The ID of the newly created table is 209719 |
|
Celda 6 |
Realizar algunos análisis de datos Si mantuvo el orden correcto de las celdas, el código para realizar algunos análisis de datos de ejemplo ahora se encuentra en la celda 6. El código permanece sin cambios desde la Parte 1 del tutorial y usted no necesita actualizarlo, salvo para actualizar el identificador de la celda en la línea 1.
|
Bloque de código para la celda 6
Ejemplo de salida de la celda (un marco de datos de HCL)
|
|
Celda 7 |
Guardar la salida del análisis de datos en la tabla de Resultados Si mantuvo el orden correcto de las celdas, el código para guardar la salida en Resultados ahora se encuentra en la celda 7. El código permanece sin cambios desde la Parte 1 del tutorial y usted no necesita actualizarlo, salvo para actualizar el identificador de la celda en la línea 1.
|
Bloque de código para la celda 7
Ejemplo de la salida de la celda 202 es el código de estado HTTP para "Aceptado". 202 |
Comprobar Resultados para ver la colección, el análisis y la tabla nuevos
Veamos la aplicación Resultados para confirmar que se haya creado la colección, el análisis o la tabla nuevos y que la tabla contenga los resultados de la salida del análisis de datos de ejemplo.
-
Abra la aplicación Resultados en una ficha independiente:
-
Haga clic en Cambiar aplicaciones .
-
Haga clic con el botón derecho en Resultados y seleccione Abrir el enlace en una ficha nueva.
-
-
Vaya a la ficha del navegador en la cual está abierta la aplicación Resultados.
-
Abra la colección que acaba de crear usando el script de Robots y la API de HighBond.
Si no ve la colección, actualice la página.
Resultado La tabla que acaba de crear usando la API de HighBond está presente, anidada dentro del análisis que acaba de crear. La tabla contiene los resultados de la salida que acaba de guardar.
Nota
Según el nivel de uso actual de Resultados, es posible que haya cierto retraso en la aparición de los resultados de la salida en la tabla.
-
Active Mostrar los identificadores de la tabla.
El identificador de la tabla se muestra a la izquierda del nombre de la tabla. Debe ser el mismo identificador que se creó y mostró al ejecutar la celda del script para crear la tabla.
-
Haga clic en el nombre de la tabla para abrirla.
Se muestran los resultados de la salida que guardó desde Robots a Resultados.
En la barra de dirección del navegador, el URL contiene los identificadores exclusivos que se crearon y mostraron al ejecutar el script. En orden, son los siguientes:
-
Identificador de la colección
-
Identificador del análisis
-
Identificador de la tabla
-
-
Regrese a la ficha del navegador donde está abierta la aplicación Robots y haga clic en Ejecutar todas las celdas en secuencia en la barra de herramientas del editor de scripts.
Resultado El script se ejecuta desde la primera celda hasta la última. Fíjese que la salida de las celdas que crean una colección, un análisis y una tabla ahora muestran existente en lugar de recién creado. Por ejemplo:
El identificador de la tabla existente es identificador_tabla.
Cuando vuelve a ejecutar el script, el código encuentra una colección, un análisis anidado y una tabla anidada con nombres que coinciden con los que usted especificó en las variables. Por lo tanto, no es necesario crear nuevos objetos.
-
Regrese a la ficha del navegador en donde está abierta la aplicación Resultados y actualice la página.
Resultado La tabla se actualiza y muestra el conjunto adicional de resultados de la salida que acaba de guardar desde Robots en Resultados.
Nota
Según el nivel de uso actual de Resultados, es posible que haya cierto retraso en la aparición de los resultados de la salida en la tabla.
Guardar el script y salir del editor de scripts
-
Regrese a la ficha del navegador en la cual está abierta la aplicación Robots.
-
En la barra de herramientas del editor de scripts, haga clic en Guardar y confirmar y enviar.
-
Introduzca un mensaje de confirmación y envío, como Script actualizado para crear una colección, un análisis y una tabla de Resultados automáticamente.
-
Seleccione Guardar el resultado del script en el archivo de log de ejecución de la tarea.
Cuando ejecuta un script usando una tarea de Robots, 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.
-
Haga clic en Confirmar y enviar para guardar, confirmar y enviar el script.
Aparecerá el mensaje El script se confirmó y envió correctamente.
-
En el encabezado de la página, haga clic en el nombre del robot (Robot del tutorial <sus iniciales>).
Resultado 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.
Programar una tarea de Robots para ejecutar el script
Ahora cuenta con un script que automatiza completamente un proceso. El script detecta o crea automáticamente la jerarquía de los objetos en Resultados que se necesitan para contener la salida del proceso. Además, crea automáticamente objetos de jerarquía adicionales, según sea necesario, sobre la base de la fecha.
Sin embargo, usted está ejecutando el script de modo interactivo y esto significa que debe ejecutarlo manualmente desde el editor de scripts. La etapa final de la automatización completa del proceso consiste en crear una tarea de Robots que ejecute automáticamente el script sobre la base de cualquier programa que especifique.
Qué hace una tarea de Robots
Una tarea de Robots ejecuta el o los scripts que usted especifique. Una tarea ofrece dos cosas fundamentales para generar la automatización:
-
Automatización de la entrada del script La tarea le permite, a usted o a otro usuario, proporcionar las entradas necesarias para ejecutar el script. Usted proporciona las entradas de manera anticipada, la tarea almacena las entradas y después las utiliza cada vez que se ejecuta la tarea.
-
Ejecución programada La tarea le permite especificar en qué momento del día y con qué frecuencia se ejecutará la tarea.
Crear una tarea
Cree y programe una tarea para ejecutar el script que acaba de crear. La tarea solo requiere una única entrada: su token de la API de HighBond. Sin embargo, las tareas pueden recibir tantas entradas como su script necesite.
-
En Robots, seleccione la ficha Tareas.
-
Haga clic en Crear tarea, escriba un nombre para la tarea, como Tarea del tutorial, y haga clic en Guardar.
Resultado Se abre el Diseñador de tareas y usted puede comenzar a configurar los ajustes de la tarea.
-
Haga clic en Seleccionar todo para seleccionar el script que acaba de crear.
Nota
A diferencia de los robots ACL, los robots HighBond actualmente admiten solo un script.
-
Abra la lista desplegable Parámetros, pegue su token de la API de HighBond en el campo y haga clic en Continuar.
Nota
La etiqueta que creó en la ventana Variables del editor de scripts se muestra aquí: Escriba su token de API de HighBond:
-
Seleccione Ponga su tarea en un programa, especifique los siguientes valores (o los valores que usted escoja) y haga clic en Continuar:
Opción Valor Frecuencia Diariamente Ejecutar cada 1 día(s) Hora de inicio 11:00 p. m. A partir del la fecha actual -
Seleccione Enviar notificaciones en caso de fallo, selecciónese a usted mismo como destinatario del correo electrónico y haga clic en Continuar.
-
Revise la configuración de la tarea y haga clic en Confirmar y crear tarea.
Resultado Se crea la tarea y el script se ejecutará de acuerdo con el programa que usted haya especificado.
Ejecutar la tarea ad hoc
Si bien la tarea está programada, vamos a ejecutarla ad hoc para asegurarnos de que funciona.
-
En la ficha Tareas, seleccione la tarea que acaba de crear y haga clic en > Ejecutar ahora.
Resultado la tarea se inicia y usted puede monitorear su progreso en la ficha Tareas o en la ficha Ejecuciones de tareas.
Si la tarea se ejecuta sin ningún problema, se mueve a través de esta secuencia de estados:
-
En cola
-
En ejecución
-
Éxito
Nota
Según el estado de operación actual de Robots, la tarea puede permanecer en la cola durante un minuto aproximadamente.
-
-
Cuando la tarea muestre un estado de Éxito, regrese a la ficha del navegador en donde está abierta la aplicación Resultados y actualice la página.
Si es necesario, regrese a la tabla en donde está guardando los resultados de la salida.
Resultado La tabla se actualiza para mostrar el conjunto adicional de resultados de la salida que acaba de guardar ejecutando la tarea ad hoc.
Revisar el archivo de log de ejecución de la tarea
Descargue y revise el archivo de log de ejecución de la tarea. Como seleccionó Guardar el resultado del script en el archivo de log de ejecución de la tarea al confirmar y enviar el script, el archivo de log incluye todos los resultados del script. Este registro de los resultados del script puede brindar información útil cuando comience a desarrollar la automatización basada en scripts en Robots.
-
Regrese a la ficha del navegador en la cual está abierta la aplicación Robots.
-
En la ficha Ejecuciones de tareas, seleccione la tarea ejecutada.
Se abre el panel lateral Detalles de las ejecuciones de las tareas. El archivo de log de la ejecución de la tarea aparece en la sección Salida y, si usó el nombre sugerido para la tarea, se llama Tarea tutorial.json.
-
Haga clic en Descargar junto al nombre del archivo.
Resultado El archivo de log de la ejecución de la tarea se descarga en su computadora.
-
Abra el archivo en un editor de texto como Notepad++ o algún otro editor que admita el formato automático de la sintaxis JSON.
-
Formatee la sintaxis JSON y revise el archivo.
Debería ver el mismo resultado del script que vio al ejecutar el script interactivamente en el editor de scripts.
Comprobar la salida de la tarea durante varios días sucesivos
Si programó la tarea para que se ejecute una vez al día, compruebe periódicamente los resultados de la salida en la aplicación Resultados a fin de asegurarse de que la tarea esté funcionando correctamente. Si una tarea no se ejecuta por algún motivo, debería hacer que se envíe una notificación a su dirección de correo electrónico.
Teóricamente, la tarea se ejecutará de forma indefinida y creará una nueva tabla una vez al día o una vez al mes, un nuevo análisis una vez al mes y una nueva colección una vez al año.
Si está usando un token de API de HighBond que tiene una fecha de caducidad, la tarea dejará de ejecutarse cuando el token caduque. Puede actualizar la tarea con un nuevo token que no esté caducado en cualquier momento.
Desactivar o eliminar la tarea
Una vez que esté satisfecho con la ejecución de la tarea correctamente según su programa, puede desactivar o eliminar la tarea.
Desactivar la tarea
La desactivación de la tarea se puede revertir y no se elimina nada. La tarea se marca como Desactivada y no se ejecuta en el momento programado ni se puede ejecutar ad hoc.
-
En Robots, en la ficha Tareas, seleccione la tarea y haga clic en > Desactivar.
Resultado Aparece la marca Desactivada junto al nombre de la tarea y la tarea no se ejecutará.
-
Para volver a activar la tarea, haga clic en > Activar.
Eliminar la tarea
La eliminación de la tarea elimina únicamente la tarea. No elimina la información asociada en la ficha Ejecuciones de tareas ni elimina el script.
-
En Robots, en la ficha Tareas, seleccione la tarea y haga clic en > Eliminar.
-
En el cuadro de diálogo, haga clic en Eliminar para confirmar que desea eliminar la tarea de forma permanente.
Lo que aprendió
¡Felicitaciones! Ha incrementado sus conocimientos del uso de la creación de scripts nativa de Robots con la API de HighBond.
Específicamente, ha aprendido a hacer lo siguiente:
-
usar la API de HighBond para interactuar con varios objetos de Diligent One relacionados
-
crear una tarea y programar un script para automatizar un proceso en su totalidad
¿Qué sigue?
En la Parte 3 del tutorial, utilizará la creación de scripts de Robots con la biblioteca Requests de Python para conectarse a la API de HighBond y a API de otros desarrolladores.
Vaya a > Parte 3: Extienda su alcance
Practicar la interacción con Diligent One
¿Por qué no poner en práctica sus nuevas habilidades creando otros robots para automatizar la interacción con otros tipos de objetos de Diligent One? Consulte Recursos fundamentales en la Referencia de la API de HighBond para ver a qué objetos puede acceder.
¡Precaución!
El uso del método API GET ( hcl.api_get
) es seguro. Solo está leyendo los datos. Tenga cuidado si utiliza métodos API para actualizar o eliminar datos de la instancia de producción de Diligent One de su organización. Asegúrese de estar interactuando únicamente con datos de prueba o de ejemplo.
Sin la interfaz de usuario para guiarlo, puede actualizar o eliminar fácilmente un objeto equivocado.
Obtener más información
Obtenga más información sobre HCL y la creación de scripts en Robots:
Resolución de problemas
Si obtiene un error de Python (un bloque de error rojo) al ejecutar una celda o el script completo, lleve a cabo el procedimiento de resolución de problemas que se incluye a continuación.
-
En el editor de scripts, haga clic en Variables y compruebe que haya una variable de contraseña v_hb_token y que se haya proporcionado un token en el campo Valor.
El token debe ser un token de API de HighBond, no un token de Analytics. Para asegurarse de eso, vuelva a copiar un token adecuado desde la pantalla Administrar tokens API de Launchpad y péguelo en el campo Valor.
Consejo
Recuerde que si sale del editor de scripts o lo actualiza, el valor de las variables de contraseña se elimina automáticamente y debe volver a especificarlo.
-
Si falta una variable de contraseña, complete todos los aspectos necesarios de la definición de variables de contraseña.
Si desea obtener más información, consulte Crear una variable de contraseña para el token de la API de HighBond.
- Haga clic en Guardar y cerrar.
Resultado Se guardan todas las variables y usted regresa al editor de scripts.
-
En la barra de herramientas del editor de scripts, haga clic en Ejecutar todas las celdas en secuencia .
Resultado Si no hay errores, el script se ejecuta desde la primera celda hasta la última.
Nota
Al guardar y cerrar la ventana Variables, se borra la memoria de la sesión del editor de scripts. Al volver a ejecutar todas las celdas en secuencia se asegura de que se importen todas las bibliotecas de Python necesarias y que se realicen todas las operaciones que las celdas posteriores tienen como prerrequisito.