Tâche Approbation

La tâche Approbation vous permet de configurer des intégrations basées sur l'approbation. Elle vous permet également de contrôler le flux d'une intégration.

Vous pouvez utiliser la tâche Approbation pour envoyer des e-mails de demande d'approbation à un ou plusieurs utilisateurs d'intégration. L'e-mail inclut un lien vers l'intégration où les utilisateurs peuvent approuver ou rejeter manuellement la demande.

Lors de l'exécution d'une intégration, lorsque le contrôle atteint la tâche Approbation, l'exécution est interrompue et toutes les tâches après la tâche Approbation sont suspendues. L'intégration ne reprend l'exécution que lorsqu'un utilisateur approuve ou refuse la demande d'approbation, soit dans la console Google Cloud , soit à l'aide de l'API.

Une tâche Approbation peut être utilisée aux fins suivantes :

  • Suspendre et intégrer une intégration en fonction de l'approbation ou du refus de l'utilisateur
  • Pour suspendre une intégration jusqu'à une durée spécifiée.
  • À utiliser comme point d'arrêt pour déboguer l'intégration.

Comparer les opérations Approbation, Suspendre et Minuteur

Les trois tâches (Approbation, Suspendre et Minuteur) exécutent une fonction similaire de mise en pause et de reprise d'une intégration. Toutefois, il existe des différences subtiles entre elles. Le tableau suivant décrit les différences entre les trois tâches.

Tâche Approbation Tâche Suspendre Tâche Minuteur
Reprend lorsqu'un utilisateur approuve ou refuse la demande dans l'interface utilisateur d'Integrations ou à l'aide de l'API. Compatible avec la reprise manuelle et automatique d'une intégration. En l'absence d'une intervention manuelle pour révoquer la suspension, l'intégration reprend automatiquement l'exécution après l'expiration du délai de suspension. Compatible uniquement avec la reprise automatique d'une intégration. L'exécution de l'intégration reprend automatiquement après l'expiration du délai de suspension.
Peut reprendre une intégration à partir de l'UI Intégrations ou en appelant la méthode suspensions.resolve. Consultez Approuver ou refuser à l'aide de l'API. Peut reprendre une intégration en appelant la méthode suspensions.lift. Compatible uniquement avec la reprise automatique d'une intégration.
Les utilisateurs reçoivent une notification lorsqu'une intégration est mise en pause (suspendue). Les utilisateurs ne reçoivent aucune notification lorsqu'une intégration est mise en pause (suspendue). Les utilisateurs ne reçoivent aucune notification lorsqu'une intégration est mise en pause (suspendue).
Compatible avec une variable de sortie (booléenne), qui vous permet d'effectuer des vérifications conditionnelles avant de reprendre l'intégration. Cependant, la variable de sortie ne peut avoir que la valeur true ou false. Compatible avec une variable de sortie (chaîne), qui vous permet d'effectuer des vérifications conditionnelles avant de reprendre l'intégration. Vous pouvez définir n'importe quelle valeur pour la variable de sortie. Non compatible avec les variables de sortie.

Configurer la tâche Approbation

Pour configurer la tâche Approbation, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Application Integration.

    Accéder à Application Integration

  2. Dans le menu de navigation, cliquez sur Intégrations.

    La page Intégrations s'affiche et liste toutes les intégrations disponibles dans le projet Google Cloud.

  3. Sélectionnez une intégration existante ou cliquez sur Créer une intégration pour en créer une.

    Si vous créez une intégration :

    1. Saisissez un nom et une description dans le volet Créer une intégration.
    2. Sélectionnez une région pour l'intégration.
    3. Sélectionnez un compte de service pour l'intégration. Vous pouvez modifier ou mettre à jour les détails du compte de service d'une intégration à tout moment depuis le volet Résumé de l'intégration de la barre d'outils d'intégration.
    4. Cliquez sur Créer. L'intégration que vous venez de créer s'ouvre dans l'éditeur d'intégrations.

  4. Dans la barre de navigation de l'éditeur d'intégrations, cliquez sur Tâches pour afficher la liste des tâches et des connecteurs disponibles.
  5. Cliquez sur l'élément de tâche Approbation et placez-le dans l'éditeur d'intégrations.
  6. Cliquez sur l'élément de tâche Approbation dans le concepteur pour afficher le volet de configuration de la tâche Approbation.
  7. Configurez les champs affichés à l'aide des propriétés de configuration de la tâche, comme indiqué dans le tableau ci-dessous.

    Les modifications que vous avez apportées aux propriétés sont enregistrées automatiquement.

Propriétés de configuration

Le tableau suivant décrit les propriétés de configuration de la tâche Approbation.

Propriété Type de données Description
Recipients Tableau de chaînes Adresses e-mail auxquelles la notification est envoyée lorsque la tâche est suspendue. Saisissez plusieurs adresses e-mail séparées par une virgule.
Custom notification message Chaîne Message personnalisé à inclure dans la notification par e-mail lorsque la tâche est suspendue. La valeur peut être un littéral ou une variable. Si le message personnalisé est disponible dans une variable, cliquez sur VAR et sélectionnez la variable.
Reminder frequency (in hours) Entier Fréquence des notifications de rappel.

Si la suspension est à l'état "non traitée" (unresolved), vous pouvez envoyer des notifications par e-mail afin de demander à des utilisateurs autorisés de la traiter.

Time until expiration (in hours) Entier Période de la suspension.

Si la suspension n'est pas résolue dans le délai imparti, elle est rejetée par défaut.

On expiration Booléen Action à entreprendre une fois la suspension expirée.

Vous pouvez choisir de rejeter la suspension ou de la lever. Par défaut, la suspension est rejetée.

isApproved (Approval) Booléen Variable de sortie dont l'état est la suspension après traitement.

La variable isApproved est définie sur True si la suspension est approuvée et définie sur False si la suspension est rejetée.

Répondre à une demande d'approbation à l'aide de l'API

Pour approuver ou refuser une demande d'approbation en attente sans la console Google Cloud , appelez la méthode projects.locations.integrations.executions.suspensions.resolve.

Pour approuver ou refuser une demande, vous devez disposer de l'autorisation integrations.suspensions.resolve. Pour lister les suspensions, vous devez également disposer de l'autorisation integrations.suspensions.list. Le rôle Approbateur Application Integration (roles/integrations.suspensionResolver) contient les deux autorisations, tout comme le rôle Administrateur Application Integration (roles/integrations.integrationAdmin).

Si l'intégration utilise un compte de service d'exécution, attribuez le rôle Utilisateur du compte de service (roles/iam.serviceAccountUser) à ce compte de service. Cette exigence prend effet au fur et à mesure du déploiement décrit dans Accorder le rôle d'utilisateur du compte de service.

  1. Pour trouver la requête en attente, listez les suspensions de l'exécution à l'aide de la méthode 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"
    

    Dans la réponse, recherchez la suspension dont le taskId est l'ID de votre tâche d'approbation et dont le state est PENDING. La réponse inclut également les suspensions des tâches de suspension et d'autres tâches d'approbation de la même exécution. Notez le name de la suspension, qui se termine par l'ID de la suspension.

  2. Pour approuver ou refuser la demande, appelez la méthode 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"
    

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : région de l'intégration.
  • INTEGRATION_NAME : nom de l'intégration.
  • EXECUTION_ID : ID de l'exécution suspendue.
  • TASK_ID : ID de la tâche d'approbation (taskId de la suspension).
  • SUSPENSION_ID : ID de la suspension, issu de l'name de la suspension.
  • STATE : état de la résolution. Utilisez LIFTED pour approuver la demande (définit isApproved sur true) ou REJECTED pour la refuser (définit isApproved sur false).

Stratégie de gestion des exceptions

Une stratégie de gestion des exceptions d'une tâche spécifie l'action à effectuer si celle-ci échoue en raison d'une erreur temporaire. Pour en savoir plus sur l'utilisation et les différents types de stratégies de gestion des exceptions, consultez la page Stratégies de gestion des exceptions.

Quotas et limites

Pour plus d'informations sur les quotas et les limites, consultez la section Quotas et limites.

Étape suivante