Lancer Plusieurs Workflows Depuis Google Sheets
Considérons une situation où nous voulons lancer plusieurs flux de travail automatiquement dans Pneumatic basés sur des entrées tabulées que nous avons dans une feuille de calcul Google Sheets.
Apprenez comment téléverser des fichiers sur Pneumatic via l'API publique, les publier et les inclure en tant que pièces jointes dans les workflows.
Un type de champ de données pris en charge par Pneumatic est le champ de pièce jointe. Ceux-ci attendent que l’utilisateur télécharge un fichier vers Pneumatic :
Par exemple, dans une procédure opérationnelle de rapport de bug, l’utilisateur peut être amené à télécharger une capture d’écran du bug. Naturellement, l’API de Pneumatic vous permet également de télécharger des fichiers, cependant, le processus est un peu plus ésotérique ici. Pneumatic dispose d’un processus sécurisé conforme à l’industrie pour le téléchargement et le partage de fichiers via l’API publique.
Il se compose de deux étapes principales :
À l’étape deux, le système génère un lien partageable vers le fichier téléchargé et un ID de pièce jointe, que vous pouvez ensuite insérer de manière programmable dans les champs de pièce jointe de vos processus Pneumatic que vous lancez via l’API.
Voyons comment cela pourrait fonctionner dans Google Sheets. Nous allons utiliser notre exemple de lancement de workflows comme point de départ.
Nous allons utiliser notre modèle de rapport de bug (ID du modèle - 3026), nettoyons simplement toutes les lignes à partir de la ligne 4 et cliquons sur Obtenir Kick-off Fields
J’ai quelques png dans mon Google Drive, donc nous allons en utiliser un :
Ajoutons simplement une ligne à notre feuille de calcul pour ne pas submerger le système de faux rapports de bug :
Maintenant, si je clique sur Lancer les workflows, voici ce que j’obtiens dans Pneumatic :
Comme vous pouvez le voir, un nouveau workflow de signalement de bug a été lancé et mon fichier “BugReport3.png” a été téléchargé en tant que pièce jointe, bien que avec un nom interne un peu étrange.
Alors regardons sous le capot pour voir ce qu’il se passe là-dessous. J’utilise toujours la même fonction launchWorkflows
avec juste un léger ajustement :
Je vérifie si la chaîne dans la troisième cellule de ma ligne se termine par “png” et si c’est le cas, j’appelle la fonction uploadFile
, à laquelle je transmets le contenu de la troisième cellule de la ligne et la apiKey
. Regardons maintenant la fonction elle-même :
La fonction abstrait le processus de téléchargement de pièces jointes en plusieurs étapes susmentionné. Tout d’abord, nous obtenons les données du fichier sous forme de tableau de bytes en utilisant la fonction getFileData
.
Ensuite, nous déterminons le type de contenu en fonction de l’extension de fichier en utilisant la fonction getContentType
:
Nous utilisons ensuite le endpoint de téléchargement de l’API de Pneumatic pour obtenir des informations sur la pièce jointe pour notre fichier. Pour générer ces informations, nous devons envoyer à Pneumatic notre nom de fichier, le type de contenu et la taille de notre fichier (que nous obtenons également dans la fonction getFileData
).
AttachmentInfo
est un objet qui contient des informations sur notre pièce jointe, y compris son ID. Nous utilisons cet ID dans le code ci-dessous pour télécharger effectivement le fichier, puis nous le renvoyons à la fonction appelante.
La toute dernière étape dans la fonction d’appel (launchWorkflows
) consiste à enregistrer l’ID de la pièce jointe dans la valeur du champ du nouveau workflow que nous lançons à cette étape :
Pour les champs de pièce jointe, nous devons transmettre des tableaux, et naturellement, nous pouvons ajouter plusieurs pièces jointes, ce que nous ne faisons pas ici, mais l’option est là si vous en avez besoin.
Fondamentalement, si vous avez besoin de télécharger des fichiers, vous pouvez commencer par utiliser la fonction uploadFile
trouvée dans cet exemple, avec les fonctions d’aide getFileData
, getContentType
et getExtension
. De cette façon, vous n’aurez pas à vous soucier du processus en plusieurs étapes pour télécharger et publier des fichiers sur Google Cloud. La fonction renverra simplement l’ID de la pièce jointe pour votre fichier que vous pourrez ensuite insérer dans vos champs d’attache.