Déclenchement flux trop fréquent

  • Déclenchement flux trop fréquent

    Posté par Geoffroy sur 6 mai 2025 at 11h28

    Bonjour,

    J’ai un flux qui se déclenche quand un élément d’une liste SharePoint est modifié. Ensute, je vérifie si certains champs ont été modifiés pour lancer les actions proprement dites.

    Mais, pour une raison que j’ignore, le flux se déclenche assez souvent, même quand aucune donnée n’est vraiment modifiée, sauf le champ “Modified“.

    J’ai donc deux questions :

    1. comment le champ “Modified” peut-il passer à true alors qu’aucun autre champ n’a subi de changement ?
    2. peut-on limiter le déclenchement du flux aux cas où un autre champ que “Modified” passe à true ?

    PS : ce n’est pas vraiment génant car chaque lancement ne dure que 2 secondes, mais ce n’est pas tellement satisfaisant.

    Julien a répondu 3 weeks, 5 days ago 3 Membres · 3 Réponses
  • 3 Réponses
  • François

    Member
    6 mai 2025 at 13h33

    Salut, est-ce que tu as regardé les trigger conditions ? ce qui te permet de tester des valeurs de champs pour conditionner le lancement ou non de ton trigger et donc de ton flux ?

  • Julien

    Member
    6 mai 2025 at 13h58

    Salut Geoffroy,

    Pour la question :

    1. comment le champ “Modified” peut-il passer à true alors qu’aucun autre champ n’a subi de changement ?

    Une première piste : D’après la doc (https://learn.microsoft.com/fr-fr/sharepoint/dev/business-apps/power-automate/sharepoint-connector-actions-triggers#get-changes-for-an-item-or-a-file-properties-only) :

    L’action Lorsqu’un élément est créé ou modifié est déclenchée en cas de modification d’une colonne mais également une modif/ajout d’une pièce jointe etc.

    Or l’action Obtenir les modifications pour un élément ou un fichier (propriétés uniquement) ne couvre que le changement des colonnes. Donc l’élément est modifié (Modified: true) mais pas les colonnes.

    ____

    Pour la question:

    2. peut-on limiter le déclenchement du flux aux cas où un autre champ que “Modified” passe à true ?

    les gourous du sites auront peut-être une meilleur solution et je serai ravi d’en apprendre plus.

    De mon coté je ne vois pas comment utiliser les Triggers conditions ici, je verrai un select sur le json “ColumnHasChanged” pour en faire un tableau, filtrer le tableau sur les colonnes modifiées, et s’il n’y a que la colonne Modified en sortie, tu peux stopper l’exécution du flux.

  • Julien

    Member
    6 mai 2025 at 23h06

    2. peut-on limiter le déclenchement du flux aux cas où un autre champ que “Modified” passe à true ?

    Pour l’exercice : je ne suis pas parvenu à utiliser les triggers conditions, mais après l’action Obtenir les modif, c’est faisable en une action en transformant le JSON en XML puis utiliser XPATH pour compter les noeuds textes “true” quand l’élément n’est pas “Modified”.

    On peut donc faire une division par le résultat:

    Si le compte est positif, l’action réussie

    Si le compte est à zéro : ça fait donc une division par zéro, donc une erreur, l’action échoue.

    On peut se servir de ça pour faire une branche parallèle qui traite les deux cas et terminer proprement :

    Action Message Colonne(s )modifiée(s) ou quitter:

    <pre class=”language-javascript”>
    div(
    1,
    xpath(
    xml(
    addProperty(json('{}'),
    'root',
    body('Obtenir_les_modifications_pour_un_élément_ou_un_fichier_(propriétés_uniquement)')['ColumnHasChanged'])
    ),
    'count(//*[.="true" and not(self::Modified)])'
    )
    )

    C’est pour l’exercice, je suis peut-être passé à coté du solution toute simple, à votre écoute 😄

Connectez-vous pour répondre.