Fermer

septembre 20, 2018

Envoyer une approbation de flux aux membres d'un groupe SharePoint


Microsoft Flow ne prend pas en charge actuellement l'obtention des membres d'un groupe SharePoint. Cela rend difficile l'utilisation de groupes existants que les flux de travail SharePoint Designer obsolètes utiliseraient. Cela laisse deux options pour un créateur de flux, A) créer une liste personnalisée pour suivre les approbateurs, ou B) définir des e-mails statiques dans le flux d'approbation proprement dit. En utilisant plutôt des groupes SharePoint, nous pouvons autoriser un utilisateur final à le mettre à jour ultérieurement, sans avoir à toucher au flux.

Heureusement, l'action de l'API SharePoint disponible dans Flow permet d'interroger des groupes SharePoint. Cela renverra un tableau d'objets contenant les informations des utilisateurs, y compris le courrier électronique.

Configuration du flux initial

Pour configurer correctement l'action d'approbation, nous devons d'abord initialiser une variable de chaîne.

appelez l'action HTTP Request pour extraire les membres du groupe.

Une fois le site sélectionné, vous pouvez configurer Uri pour qu'il appelle l'API rest du groupe (voir la documentation Microsoft ). Si le nom du groupe peut potentiellement changer, vous pouvez également utiliser l'ID du groupe en utilisant la syntaxe suivante: http: // / _api / web / sitegroups () / users [19659009] Après l'URI, il est également important (et nécessaire) de définir les propriétés d'en-tête accept et content-type sur “application / json; odata = verbose”.

Iterate sur la réponse

L'étape suivante consistera à parcourir maintenant les résultats de cet appel. L'objet de réponse renvoyé sera au format suivant:

{"d": {
"results": [{
"__ metadata": {
"id": "http: / //_api/Web/GetUserById(16)",
"uri":"http:///_api/Web/GetUserById(16)",
"type":"SP.User"
},
"Groups": {"__deferred": {"uri": "http: /// _ api / Web / GetUserById (16) / Groups"}},
"Id": 16,
"IsHiddenInUI": false,
"LoginName": "i: 0 # .w | domaine \ utilisateur1",
"Titre": "Nom d'utilisateur User1",
"PrincipalType": 1,
"Email": "user1@company.com",
"IsSiteAdmin": false, {
"__ metadata": {
"type": "SP.UserIdInfo"},
"NameId": "s-0-0-00-000000-0000000000-0000000000-000000",
"NameIdIssuer": "identificateur d'émetteur"
}}, ...]
}}

Flow ne peut pas détecter automatiquement les propriétés renvoyées. Nous devrons donc entrer manuellement les valeurs à l'aide des expressions de flux de travail (voir documentation de définition de flux de travail ). Afin de parcourir les résultats, créez un pour chaque boucle et transmettez le corps de valeur (' nom de l'action HTTP dans Flow ') [‘d’][‘results’].

le tableau de résultats et nous permet de référencer les différentes propriétés (c.-à-d. Email) de chaque membre. Dans la boucle For Each, nous créerons ensuite une action Append to String Variable.

Encore une fois, les propriétés de flux de travail ne seront pas remplies. La valeur ici suit le format articles ( ' nom de For Each Loop' ) [‘Email’] .

NOTE: assurez-vous d'ajouter un point-virgule après l'email. Cela peut être fait avec des expressions (en utilisant la fonction concat) ou simplement simplement ajouté après la valeur (voir capture d'écran ci-dessus).

Une fois l'itération terminée, nous pouvons maintenant configurer l'action Approval. Cela peut être configuré si nécessaire, assurez-vous juste de définir le champ Assigned to à la variable emailList .

L'approbation est configurée, il vous suffit de configurer comment gérer la réponse d'approbation avec une condition. N'hésitez pas à contacter (ou à laisser un commentaire) si vous avez des questions.




Source link