Jointure SharePoint avec Obtenir les éléments

Conseils et retours d’expériences Power Automate en vrac

Quelques conseils pratico-pratiques issus de notre expérience concrète du développement Power Automate.

Ces informations s’adressent à des utilisateurs qui pratiquent déjà Power Automate et qui cherchent des réponses et des solutions simples pour résoudre quelques cas concrets.

Si vous débutez dans Power Automate, consultez plutôt les articles du site Microsoft dédié : https://docs.microsoft.com/fr-fr/power-automate.

Contenu

  • Mettre à jour le statut de la colonne État d’approbation
  • Tester la condition sur le statut de la colonne État d’approbation
  • Tester la condition pour éliminer les dossiers d’une bibliothèque SharePoint
  • Tester si un champ est vide ou qu’il n’est pas vide
  • Les erreurs classiques à ne pas reproduire
  • Les erreurs habituelles liées aux modèles
  • Faire une sauvegarde du flux
  • Comprendre le format ISO 8601
  • Configurer la propriété Exécuter après
  • Créer une variable avec le nom de l’application
  • Personnaliser les emails
  • Personnaliser le corps d’un email
  • Créer un lien cliquable dans un email
  • Saisir une donnée avant l’exécution d’un flux
  • Vérifier qu’une colonne a été modifiée
  • Jointure entre deux listes SharePoint
  • Manipuler les filtres ODATA

Mettre à jour le statut de la colonne État d’approbation

Dans un flux Power Automate, il faut ajouter deux actions spécifiques pour mettre à jour le statut de la colonne État d’approbation d’une bibliothèque SharePoint Online.

L’approbation de contenu doit être activée dans la bibliothèque SharePoint Online.

Approbation de contenu Bibliothèque SharePoint
Approbation de contenu Bibliothèque SharePoint

L’action à ajouter dans le flux est Définir le statut d’approbation du contenu. Elle permet de mettre à jour le statut.

En effet, l’action Mettre à jour les propriétés du fichier ne permet pas de mettre à jour le statut de la colonne État d’approbation.

Toutefois, auparavant, il faut appeler l’action Obtenir les métadonnées du fichier.

Celle-ci permet de récupérer l’ETag qui sera transmise à l’action Définir le statut d’approbation du contenu.

L’ETag est une métadonnée du document qui permet de contrôler son intégrité.

Cela permet de s’assurer que le document n’a pas été modifié entre deux approbations.

Faites attention que l’identificateur de fichier est le champ Identificateur (‘Identifier’) et non pas ID. La confusion est fréquente.

Action Obtenir les métadonnées du fichier
Action Obtenir les métadonnées du fichier

Grâce à l’action Obtenir les métadonnées du fichier, l’ETag est récupéré et transmis à l’action Définir le statut d’approbation du contenu.

Action Définir le statut d'approbation du contenu
Action Définir le statut d’approbation du contenu

Les deux peuvent s’enchaîner directement :

Obtenir les métadonnées du fichier et Définir le statut d'approbation du contenu
Obtenir les métadonnées du fichier et Définir le statut d’approbation du contenu

Tester la condition sur le statut de la colonne État d’approbation

Lors de l’utilisation d’une condition sur le statut de la colonne État d’approbation, il faut l’écrire en anglais.

La métadonnée s’appelle État d’approbation du contenu.

Les valeurs à tester sont Pending, Draft, Approved, Rejected.

Test statut État d'approbation
Test statut État d’approbation

Tester la condition pour éliminer les dossiers d’une bibliothèque SharePoint

Pour traiter uniquement les fichiers dans un flux Power Automate, il faut tester si l’élément soumis n’est pas un dossier.

En particulier, il faut récupérer la métadonnée EstUnDossier à l’aide de l’action Obtenir les fichiers (propriétés uniquement).

Ensuite, il reste à tester dans une condition que la métadonnée EstUnDossier est fausse (false).

La valeur false ne doit pas être saisie à la main. Elle est obtenue grâce à l’onglet Expression de la fenêtre de Contenu dynamique, dans laquelle vous devez saisir directement false.

Tester un fichier Bibliothèque SharePoint
Tester un fichier Bibliothèque SharePoint

Tester si un champ est vide ou qu’il n’est pas vide

Pour tester si un champ est vide, il faut utiliser la fonction coalesce() de Power Automate.

La fonction coalesce() teste si le champ est vide ou non. Si le champ est vide, la fonction renvoie la valeur suivante non vide.

coalesce(DateRecette,'-1')

Dans l’exemple ci-dessus, si DateRecette est vide, la fonction coalesce() va renvoyer la chaîne de caractère ‘-1’. Le choix de la valeur renvoyée est arbitraire. A la place de ‘-1’, vous pouvez mettre : ‘vide’, ‘oui’, est.

Power Automate Champ vide avec Coalesce()
Power Automate Champ vide avec Coalesce()

Les erreurs classiques à ne pas reproduire

Tester une chaîne de caractères sans faire attention à la casse.

Taper directement le nom d’une variable dans une zone du flux. Sélectionner le nom de la variable dans la fenêtre de Contenu dynamique.

Les erreurs habituelles liées aux modèles

Certains modèles sont obsolètes.

Notamment, certains modèles reposent sur d’anciens connecteurs.

Par ailleurs, il faut faire attention aux formules / expressions lors du renommage d’une étape. Le renommage de l’étape nécessite de renommer les formules manuellement.

Faire une sauvegarde du flux

Avant d’intervenir sur un flux, faire une sauvegarde avec l’une des 3 méthodes suivantes :

  • Méthode 1, rapide et simple : 3 petits points puis Enregistrer sous.
  • Méthode 2, rapide, moins simple mais fonctionne entre environnements : 3 petits points puis Exporter > Package (.zip).
  • Méthode 3, quasi impossible à utiliser la plupart du temps à cause des conditions draconiennes : 3 petits points puis Envoyer une copie.

La Méthode 2 est à privilégier pour des raisons d’interopérabilité.

Une sauvegarde (Méthode 2) après une mise au point du flux, ou après une mise à jour du flux, est recommandée.

Comprendre le format ISO 8601

La norme internationale ISO 8601 spécifie la représentation numérique de la date et de l’heure. Cette notation est destinée à éviter une confusion dans les communications internationales.

Les deux dates suivantes sont identiques : il s’agit du 15 décembre 2021 à 12h28 (UTC) :

  • 2021-12-15T12:28:41Z
  • 2021-12-15T12:28:41+0000

Z est l’abréviation utilisée pour le temps universel coordonné (UTC) .

Une durée représente une quantité de temps sans commencer à un instant précis.

Il faut commencer l’écriture par la lettre P (pour Period en anglais).

La lettre T sépare les jours des heures.

  • P1M : 1 mois
  • PT1M : 1 minute
  • PT20S : 20 secondes

Configurer la propriété Exécuter après

La propriété Exécuter après permet de définir si l’action qui est actuellement paramétrée devra s’exécuter ou pas en fonction du résultat de l’action précédente.

Configurer la propriété Exécuter après
Configurer la propriété Exécuter après

En particulier, si l’action précédente a réussi, a échoué, est ignoré, ou a expiré.

Propriété Exécuter après
Propriété Exécuter après

Créer une variable avec le nom de l’application

C’est une bonne pratique de créer une variable avec le nom de l’application, dès le début du workflow.

Quand l’application change de nom, il n’y aura qu’une modification à faire plutôt que de chercher où ce nom a été utilisé.

Variable avec le nom de l'application Power Automate
Variable avec le nom de l’application Power Automate

Personnaliser les emails

Mise en forme du corps d’un email : https://docs.microsoft.com/en-us/power-automate/approvals-markdown-support

Il faut basculer en mode avancé l’email pour le personnaliser.

Basculer en mode avancé l'email pour le personnaliser
Basculer en mode avancé l’email pour le personnaliser

Lors de l’envoi d’un email, indiquer dans l’objet de l’email le nom du workflow.

Ci-dessous le nom du flux est dans la variable strAppNom (cf. supra). Le nom de la variable n’a pas d’importance.

Le nom de la variable ne doit pas être saisie à la main. Sélectionner la variable dans la fenêtre de Contenu dynamique.

Envoi d'un email avec Power Automate
Envoi d’un email avec Power Automate

Personnaliser le corps d’un email

Attention. Dès qu’une personnalisation « avancée » a été faite, il n’est plus possible de revenir à la vue HTML, à moins de supprimer cette personnalisation.

Allez dans l’affichage du code (Mode Code) à l’aide de la bascule sous la barre d’outils de mise en forme.

Ensuite, vous ajoutez le code HTML que vous voulez.

Mode Code pour personnaliser le corps d'un email
Mode Code pour personnaliser le corps d’un email

Créer un lien cliquable dans un email

Attention. Dès qu’une personnalisation « avancée » a été faite, il n’est plus possible de revenir à la vue HTML, à moins de supprimer cette personnalisation.
Dans le corps de l’email, insérez un « Lien vers l’élément » à partir du contenu dynamique.

Pour activer le mode code est activé, utiliser la bascule sous la barre d’outils de mise en forme.

Mode Code pour créer un lien cliquable dans le corps d'un email
Mode Code pour créer un lien cliquable dans le corps d’un email

Ajoutez le href autour du lien vers l’élément. Cela ressemble à ceci :

<a href="[Lien vers l'élément]">Afficher l'article</a>

Dans le menu, il est aussi possible d’utiliser Link pour faire un hyperlien fixe, c’est-à-dire sans champ dynamique.

Saisir une donnée avant l’exécution d’un flux

Grâce au déclencheur SharePoint Pour un fichier sélectionné.

Choisir le type d'entrée utilisateur
Choisir le type d’entrée utilisateur

Vérifier qu’une colonne a été modifiée

Il est possible de savoir si une colonne précise d’une liste ou d’une bibliothèque SharePoint a été modifiée.

Le flux continuera de s’exécuter si la colonne spécifiée a bien été modifiée. Les modifications sur les autres colonnes ne seront pas prises en compte : le flux s’arrêtera normalement.

Pour le connecteur SharePoint, utiliser le déclencheur Lors de la modification d’un élément ou d’un fichier.

Ensuite, ajouter l’action Obtenir les modifications pour un élément ou un fichier (propriétés uniquement).

Puis, paramétrer cette action :

  • ID : ID de l’étape Lors de la modification d’un élément ou d’un fichier.
  • Depuis : Jeton de démarrage de la fenêtre de déclencheur
  • Jusque : Jeton de fin de la fenêtre de déclencheur
Action Obtenir les propriétés uniquement
Action Obtenir les propriétés uniquement

Ensuite, ajouter une Condition.

Paramétrer cette condition en indiquant la colonne modifiée et en testant sa valeur à vraie (‘true’).

Dans l’exemple, ci-dessous c’est la colonne Titre dont la modification est testée.

Condition Colonne Modifiée Titre
Condition Colonne Modifiée Titre

Faire une jointure entre deux listes SharePoint

Il est possible de faire une jointure entre deux listes SharePoint dans Power Automate.

Cela permet notamment de filtrer les éléments pour ne retenir que ceux qui vous intéressent.

Pour le connecteur SharePoint, ajouter l’action Obtenir les éléments.

Puis, paramétrer cette action pour la requête de filtre

Par exemple avec la requête : Title eq ‘<nom d’un champ dynamique>’

Attention, il faut utiliser le nom interne de la colonne SharePoint dans les requêtes ODATA.

Jointure SharePoint avec Obtenir les éléments
Jointure SharePoint avec Obtenir les éléments

Manipuler les filtres ODATA

Comparer avec le nom interne de la colonne SharePoint.

Si vous souhaitez comparer avec des éléments ayant un champ vide, utilisez la valeur null.

Par exemple, vous pouvez saisir :

Title eq null

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.