Pour continuer avec le flux de travaux d'exemple, il devra être configuré.
La configuration du bloc peut être accédée en cliquant sur Modifier les paramètres dans l'onglet , ou en faisant un clic droit sur le bloc et en sélectionnant Modifier les paramètres pour ouvrir la fenêtre . Une fois qu'un bloc a des paramètres, le bouton passe à .
Pour configurer les blocs pour l'exemple, suivez ces étapes :
-
Ouvrez la fenêtre pour l'action
.Liste des locales
-
Les champs et nécessiteront des valeurs dynamiques qui sont résolues à l'exécution.
-
Cliquez sur l'icône de lien
pour le champ et sélectionnez l'action
.Récupérer les jetons d'accès
Le lien devient vert et le champ peut être modifié.
-
La syntaxe pour accéder aux propriétés d'un déclencheur ou d'une action référencée est :
{{$.path.to.value}}Avec la sortie pour
étant :Récupérer les jetons d'accès
{ "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }rendant l'expression requise pour le champ
{{$.tokens.strings_token}}. -
Cliquez sur l'icône de lien
pour le champ et sélectionnez le déclencheur
.uploads:create
Le lien devient vert et le champ peut être modifié.
-
La sortie du déclencheur
ressemble à :uploads:create
{ "branch": { "name": "my_branch" }, "événement": "uploads:create", "message": "utilisateur-1 a initialisé le téléchargement du fichier file.yml dans le projet name_1672734591_11 au sein de la branche ma_branche\n", "projet": { "created_at": "2023-01-03 08:29:51 UTC", "id": "abcdabcdabcdabcd-11", "main_format": "yml", "name": "name_1672734591_10", "point_of_contact": null, "project_image_url": null, "slug": "name_1672734591_10", "updated_at": "2023-01-03 08:29:51 UTC" }, "upload": { "created_at": "2023-01-03 08:29:48 UTC", "filename": "file.yml", "format": "yml", "id": "upload-1", "state": "initialized", "summary": {}, "tag": null, "updated_at": "2023-01-03 08:29:48 UTC" }, "user": { "gravatar_uid": "29a2d1baa67d4ea524cf0f247f7bbb94", "id": "9c365b9a6f77c247c3de959f6152b231", "name": "Joe Sixpack", "username": "user-1" } }rendant l'expression requise pour le champ
{{$.project.id}}. -
Cliquez sur Enregistrer.
La fenêtre se ferme et les paramètres de l'action sont enregistrés.
-
-
Le paramètre linguistique par défaut du projet est requis pour créer une tâche en passant l'identifiant à l'action
. L'actionCréer une tâche
prend une entrée JSON, applique le filtre spécifié puis renvoie à nouveau du JSON.Transformer JSON avec jq
-
Depuis l'onglet dans la fenêtre , recherchez phrase-jq.
Faites glisser et déposez le bloc d'action
sous l'actionTransformer JSON avec jq
pour les connecter.liste des paramètres linguistiques
-
Ouvrez la fenêtre pour l'action
Transformer JSON avec jq. -
Sélectionnez dans le champ déroulant .
-
Cliquez sur l'icône de lien
pour le champ et sélectionnez l'action
.liste des paramètres linguistiques
Le lien devient vert et le champ peut être modifié.
-
Le champ prend l'entrée JSON. Une expression fixe spéciale (
@au lieu de$) garantit que toute la sortie de l'action référencée est passée dans le champ.Entrez l'expression
{{@.outputs.result}}dans le champ . -
Cliquez sur l'icône de lien
pour le champ et sélectionnez l'action
.liste des paramètres linguistiques
Le lien devient vert et le champ peut être modifié.
-
Un filtre de la liste des paramètres linguistiques qui renvoie une nouvelle liste contenant tous les éléments où la propriété
par défautesttrueest requis.Il ne peut y avoir qu'un seul paramètre linguistique par défaut par projet et la liste a un élément identifiable et requis. Cet élément est directement accessible avec la syntaxe de tableau
.[0].Entrez l'expression
map(select(.default))|.[0]dans le champ . -
Cliquez sur Enregistrer.
La fenêtre se ferme et les paramètres de l'action sont enregistrés.
-
-
L'action
peut maintenant être configurée et utilisera des modèles des blocs précédents.Créer une tâche
-
Cliquez sur l'icône de lien
pour le champ et sélectionnez l'action
.Récupérer les jetons d'accès
Le lien devient vert et le champ peut être modifié.
Entrez l'expression
{{$.tokens.strings_token}}. -
Cliquez sur l'icône de lien
pour le champ et sélectionnez le déclencheur
.uploads:create
Le lien devient vert et le champ peut être modifié.
Entrez l'expression
{{$.project.id}}. -
Cliquez sur l'icône de lien
pour le champ et sélectionnez l'action
Transformer JSON avec jq.Le lien devient vert et le champ peut être modifié.
Entrez l'expression
{{@.outputs.result}}. -
La date d'échéance peut être calculée avec des fonctions sprig ou Expr, mais pour les besoins de cet exemple, une date codée en dur comprise par l'API sera utilisée.
Dans le champ , entrez 2023-12-31T12:00:00Z.
-
Cliquez sur Enregistrer.
La configuration est enregistrée et les détails peuvent être consultés dans l'onglet .
-
-
Chaque action peut avoir une ou plusieurs conditions combinées avec des logiques
ETetOU. Ces conditions sont évaluées en temps d'exécution et l'action ainsi que ses enfants ne s'exécuteront que si la condition est évaluée à vrai.Pour illustrer cela dans l'exemple, tout en ayant l'action
sélectionnée, cliquez sur Modifier les conditions dans l'onglet ou faites un clic droit sur le bloc et sélectionnez Modifier les conditions.Créer une tâche
La fenêtre s'ouvre.
-
En suivant les modèles des blocs précédents, liez le champ au déclencheur
et entrez l'expressionuploads:create
{{$.upload.tag}}. -
Sélectionnez NON dans la première liste déroulante pour inverser l'énoncé.
-
Sélectionnez EstNul dans la liste déroulante .
-
Cliquez sur Enregistrer.
La condition est présentée dans l'onglet .
Le flux de travaux s'arrêtera à ce point si le téléchargement ne contient pas de balise (ce qui signifie qu'il n'y avait pas de nouvelles clés/traductions mises à jour).
-
-
Les paramètres linguistiques cibles sont maintenant requis pour la tâche. Pour les besoins de l'exemple, deux paramètres linguistiques seront créés ; un pour l'espagnol (es-ES) et un pour l'allemand (de-DE). Les paramètres linguistiques seront ajoutés aux deux actions
dans la fenêtre comme dans l'étape 3.Transformer JSON avec jq
-
Dans le champ des deux actions, entrez l'expression
{{@.outputs.result}}, liez à l'actionet enregistrez le paramètre.Lister les paramètres linguistiques
-
Dans le champ d'une action, entrez l'expression
map(select(.name == "es-ES"))|.[0]et liez à l'action.Lister les paramètres linguistiques
Enregistrez le paramètre.
-
Dans la deuxième action, entrez l'expression
map(select(.name == "de-DE"))|.[0]et liez à l'action.Lister les paramètres linguistiques
Enregistrez le paramètre.
-
-
Les paramètres linguistiques seront maintenant appliqués à la création de la tâche.
Configurez les deux actions
avec les mêmes modèles définis précédemment.Ajouter un paramètre linguistique à une tâche
-
La tâche peut maintenant être démarrée.
Configurez l'action
avec les mêmes modèles que ceux définis précédemment.Démarrer une tâche