Tarea Aprobación

La tarea Aprobación te permite configurar integraciones basadas en aprobaciones. También te permite controlar el flujo de una integración.

Puedes usar la tarea de aprobación para enviar correos electrónicos de solicitud de aprobación a uno o más usuarios de integración. El correo electrónico incluye un vínculo a la integración en el que los usuarios pueden aprobar o rechazar la solicitud de forma manual.

Durante una ejecución de integración, cuando el control alcanza la tarea de aprobación, se detiene la ejecución, y todas las tareas después de la tarea de aprobación se suspenden. La integración reanuda la ejecución solo cuando un usuario aprueba o rechaza la solicitud de aprobación, ya sea en la consola de Google Cloud o con la API.

Una tarea de aprobación se puede usar para los siguientes fines:

  • Para suspender y ramificar una integración basada en la aprobación o el rechazo del usuario.
  • Suspender una integración hasta una duración específica.
  • Se usa como interrupción para depurar la integración.

Compara las tareas de aprobación, de suspensión y de temporizador

Las tres tareas (Aprobación, Suspender y Temporizador) realizan una función similar de pausar y reanudar una integración. Sin embargo, hay diferencias sutiles entre ellas. En la siguiente tabla, se describen las diferencias entre las tres tareas.

Tarea Aprobación Tarea Suspender Tarea Temporizador
Se reanuda cuando un usuario aprueba o rechaza la solicitud en la IU de Integraciones o con la API. Admite la reanudación manual y automática de una integración. Si no hay una intervención manual para revocar la suspensión, la integración reanudará de forma automática la ejecución después del vencimiento del límite de tiempo de suspensión. Solo admite la reanudación automática de una integración. La ejecución de la integración se reanuda automáticamente después de que se venza el límite de tiempo de suspensión.
Puede reanudar una integración desde la IU de Integraciones o llamando al método suspensions.resolve. Consulta Aprueba o rechaza con la API. Puede reanudar una integración llamando al método suspensions.lift. Solo admite la reanudación automática de una integración.
Los usuarios reciben una notificación cuando se detiene una integración (suspendida). Los usuarios no reciben ninguna notificación cuando se detiene una integración (suspendida). Los usuarios no reciben ninguna notificación cuando se detiene una integración (suspendida).
Admite una variable de salida (booleana), que te permite realizar verificaciones condicionales antes de reanudar una integración. Sin embargo, la variable de salida solo puede tener el valor de true o false. Admite una variable de salida (string), que te permite realizar verificaciones condicionales antes de reanudar una integración. Puedes establecer cualquier valor en la variable de salida. No admite ninguna variable de salida.

Configura la tarea Aprobación

Para configurar la tarea Aprobación, sigue estos pasos:

  1. En la consola de Google Cloud , ve a la página Application Integration.

    Ir a Application Integration

  2. En el menú de navegación, haz clic en Integraciones.

    Aparecerá la página Integraciones con todas las integraciones disponibles en el proyecto de Google Cloud.

  3. Selecciona una integración existente o haz clic en Crear integración para crear una nueva.

    Si creas una integración nueva, haz lo siguiente:

    1. Ingresa un nombre y una descripción en el panel Crear integración.
    2. Selecciona una región para la integración.
    3. Selecciona una cuenta de servicio para la integración. Puedes cambiar o actualizar los detalles de la cuenta de servicio de una integración en cualquier momento desde el panel Resumen de la integración en la barra de herramientas de integración.
    4. Haz clic en Crear. La integración recién creada se abre en el editor de integración.

  4. En la barra de navegación del editor de integraciones, haz clic en Tareas para ver la lista de tareas y conectores disponibles.
  5. Haz clic y coloca el elemento de tarea Aprobación en el editor de integración.
  6. Haz clic en el elemento de tarea Approval en el diseñador para abrir el panel de configuración de la tarea Approval.
  7. Configura los campos que se muestran mediante las propiedades de configuración de la tarea, como se detalla en la siguiente tabla.

    Los cambios en las propiedades se guardan de forma automática.

Propiedades de configuración

En la siguiente tabla, se describen las propiedades de configuración de la tarea Aprobación.

Propiedad Tipo de datos Descripción
Recipients Array de cadenas Direcciones de correo electrónico a las que se envía la notificación cuando la tarea está suspendida Ingresa varias direcciones de correo electrónico separadas por una coma.
Custom notification message String Mensaje personalizado para incluir en la notificación por correo electrónico cuando se suspende la tarea. El valor puede ser un literal o una variable. Si el mensaje personalizado está disponible en una variable, haz clic en VAR y selecciona la variable.
Reminder frequency (in hours) Entero Frecuencia de las notificaciones de recordatorios.

Si la suspensión está en estado no resuelto, puede enviar notificaciones por correo electrónico con recordatorios para solicitar que los usuarios autorizados resuelvan la suspensión.

Time until expiration (in hours) Entero Período de la suspensión.

Si la suspensión no se resuelve dentro del plazo, se rechaza de forma predeterminada.

On expiration Booleano Acción que se debe realizar después del vencimiento de la suspensión.

Puedes rechazar la suspensión o anularla. De forma predeterminada, se rechaza la suspensión.

isApproved (Approval) Booleano Variable de salida que tiene el estado de la suspensión después de la resolución.

La variable isApproved se establece en True si se aprueba la suspensión y se establece en False si se rechaza.

Responde a una solicitud de aprobación con la API

Para aprobar o rechazar una solicitud de aprobación pendiente sin la consola de Google Cloud , llama al método projects.locations.integrations.executions.suspensions.resolve.

Para aprobar o rechazar una solicitud, necesitas el permiso integrations.suspensions.resolve. Para enumerar las suspensiones, también necesitas el permiso integrations.suspensions.list. El rol de aprobador de Application Integration (roles/integrations.suspensionResolver) contiene ambos permisos, al igual que el rol de administrador de Application Integration (roles/integrations.integrationAdmin).

Si la integración usa una cuenta de servicio de ejecución, otorga el rol de usuario de cuenta de servicio (roles/iam.serviceAccountUser) en esa cuenta de servicio. Este requisito entra en vigencia a medida que avanza el lanzamiento descrito en Otorga el rol de usuario de cuenta de servicio.

  1. Para encontrar la solicitud pendiente, enumera las suspensiones de la ejecución con el método projects.locations.integrations.executions.suspensions.list:
    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME/executions/EXECUTION_ID/suspensions"
    

    En la respuesta, busca la suspensión cuyo taskId sea el ID de tu tarea de aprobación y cuyo state sea PENDING. La respuesta también incluye suspensiones de tareas de suspensión y de otras tareas de aprobación en la misma ejecución. Toma nota del name de la suspensión, que termina con el ID de suspensión.

  2. Para aprobar o rechazar la solicitud, llama al método suspensions.resolve:
    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -d '{
          "suspension": {
            "eventExecutionInfoId": "EXECUTION_ID",
            "integration": "INTEGRATION_NAME",
            "taskId": "TASK_ID",
            "state": "STATE"
          }
        }' \
        "https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME/executions/EXECUTION_ID/suspensions/SUSPENSION_ID:resolve"
    

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud .
  • LOCATION: Es la región de la integración.
  • INTEGRATION_NAME: Es el nombre de la integración.
  • EXECUTION_ID: Es el ID de la ejecución suspendida.
  • TASK_ID: Es el ID de la tarea de aprobación (el taskId de la suspensión).
  • SUSPENSION_ID: Es el ID de suspensión del name de la suspensión.
  • STATE: Es el estado de resolución. Usa LIFTED para aprobar la solicitud (establece isApproved en true) o REJECTED para rechazarla (establece isApproved en false).

Estrategia de manejo de errores

Una estrategia de manejo de errores de una tarea específica la acción que se debe realizar si la tarea falla debido a un error temporal. Para obtener información sobre cómo usar una estrategia de manejo de errores y conocer los diferentes tipos de estrategias de manejo de errores, consulta Estrategias de manejo de errores.

Cuotas y límites

Para obtener información sobre las cuotas y los límites, consulta Cuotas y límites.

¿Qué sigue?