guide de l'utilisateur gactions

Ce guide explique comment utiliser l'outil d'interface de ligne de commande (CLI) gactions dans des scénarios d'utilisation courants. Pour en savoir plus sur la création d'actions de bout en bout, consultez la documentation relative à la création d'actions de conversation.

Synchronisation des projets

Lorsque vous utilisez le SDK Actions, gactions vous permet de synchroniser les projets Action entre la console Actions et votre système de fichiers local.

Les opérations gactions pull exportent un projet de la console Actions vers votre système de fichiers local, et les opérations gactions push transfèrent un projet de votre système de fichiers local vers la console Actions.

Télécharger des actions depuis la console Actions

Exécutez gactions pull pour copier la configuration d'un projet Actions dans le système de fichiers local.

Le project-id du projet que vous souhaitez copier peut être transmis via la ligne de commande ou écrit dans le fichier settings/settings.yaml. Si les deux sont présents, la CLI donne la priorité à la valeur transmise en tant qu'option.

mkdir -p myAction/sdk
cd myAction/sdk
gactions pull --project-id my-project-id
Pulling your project files from Draft for a project id: "my-project-id"
✔ Done. You should see the files written in path/to/myAction/sdk
ls -l
total 8
drwxr-x---  3 user  primarygroup   96 May  7 10:00 actions
drwxr-x---  4 user  primarygroup  128 May  7 10:00 custom
-rw-r-----  1 user  primarygroup   15 May  7 10:00 manifest.yaml
drwxr-x---  3 user  primarygroup   96 May  7 10:00 settings
vi settings/settings.yaml
// change projectId to "my-other-project-id"
gactions pull
Pulling your project files from Draft for a project id: "my-other-project-id"
path/to/myAction/sdk/manifest.yaml already exists. Would you like to overwrite it?. [y/n]
...
✔ Done. You should see the files written in path/to/myAction/sdk

L'extrait de code ci-dessus montre comment extraire une action d'un brouillon de projet. Vous pouvez également extraire des données d'une version spécifique de votre action. Une version représente une copie envoyée de votre projet Actions, qui peut être déployée dans une version disponible.

L'option --version-id spécifie la version à extraire.

mkdir -p myAction/sdk
cd myAction/sdk
gactions pull --project-id my-project-id --version-id my-version-id
Pulling version "my-version-id" of the project "my-project-id" from Actions Console...
✔ Done. You should see the files written in path/to/myAction/sdk
ls -l
total 8
drwxr-x---  3 user  primarygroup   96 May  7 10:00 actions
drwxr-x---  4 user  primarygroup  128 May  7 10:00 custom
-rw-r-----  1 user  primarygroup   15 May  7 10:00 manifest.yaml
drwxr-x---  3 user  primarygroup   96 May  7 10:00 settings

Utilisez l'option --force si vous souhaitez écraser les copies locales du fichier sans avoir à confirmer l'opération. Utilisez l'indicateur --clean pour supprimer tous les fichiers locaux qui ne figurent pas dans le brouillon ou la version à distance. Utilisez-les ensemble pour obtenir une copie exacte du projet de la console Actions.

touch local_file.txt
gactions pull --force
Pulling your project files from Draft for a project id: "my-project-id"
[WARNING] 2020/05/07 17:34:32 path/to/myAction/sdk/local_file.txt is not present in the draft of your Action. To remove, run pull with --clean flag.
✔ Done. You should see the files written in path/to/myAction/sdk
gactions pull --force --clean
Pulling your project files from Draft for a project id: "my-project-id"
[WARNING] 2020/05/07 17:43:44 path/to/myAction/sdk/local_file.txt is not present in the draft of your Action. Removing path/to/myAction/sdk/local_file.txt.
✔ Done. You should see the files written in path/to/myAction/sdk

Transmettre des actions dans le brouillon du projet de la console Actions

Exécutez gactions push pour appliquer les modifications du système de fichiers local au brouillon de votre action dans la console. Ce processus peut être utile pendant le développement pour afficher les modifications qui sont répercutées dans la console Actions, sans affecter la version diffusée à des fins de test.

gactions push
Pushing your project files to your Actions console draft for a project id: "my-project-id". This may take a few minutes.
Sending configuration files
Waiting for server to respond.
✔ Done. You can now navigate to the Actions Console: https://console.actions.google.com/project/my-project-id/overview to view your project. If you want to test your changes in the simulator, run "gactions deploy preview"

Importer un projet existant depuis un système de gestion de code source

Si vous souhaitez travailler sur un projet existant à partir d'une révision dans un système de contrôle des versions:

  1. Vérifiez la révision cible (selon le système).
  2. Remplacez la valeur de projectId dans le fichier settings.yaml du projet.
  3. Vous pouvez également exécuter gactions push pour copier les fichiers de configuration locaux dans le projet Actions.
git clone https://github.com/my/repo.git
Cloning into 'repo'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 51 (delta 3), reused 3 (delta 1), pack-reused 41
Receiving objects: 100% (51/51), 36.86 KiB | 3.69 MiB/s, done.
Resolving deltas: 100% (11/11), done.
cd repo/sdk/
vi settings/settings.yaml
// change the value of `projectId`
gactions push

Afficher les versions

Exécutez gactions versions list pour afficher les détails des versions de votre action. Pour en savoir plus sur les états des versions, consultez la documentation de référence sur l'état.

gactions versions list
Version         Status          Last Modified By        Modified On     
1           Created     your-email@your-domain.com  2020-09-28 20:22:04

Si l'état de votre déploiement indique "Échec de la création", vous pouvez obtenir plus d'informations à ce sujet dans la section "Publier" de la console.

Déployer des projets

La commande gactions deploy vous permet de déployer votre projet pour le tester dans le simulateur Actions, ou de le déployer en version alpha, bêta ou de production.

Prévisualiser dans le simulateur

Exécutez gactions deploy preview pour déployer votre action en "preview", ce qui vous permet de la tester dans la console, sans mettre à jour la version de votre projet d'action ni affecter les autres développeurs. En d'autres termes, aucune des modifications que vous apportez dans votre système de fichiers local n'est propagée aux versions déployées de votre projet Actions, mais elles peuvent être testées sur une version preview.

gactions deploy preview
Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes.
Sending configuration files
Waiting for server to respond.
✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview

Créer des versions

Exécutez gactions deploy pour créer des versions de versions alpha, bêta/de production que vous pouvez gérer via la section Déployer de la console Actions. Utilisez-la pour tester les versions candidates de votre action avec vos versions alpha et/ou bêta, et faites passer la version finale en production lorsque vous êtes satisfait des commentaires.

gactions deploy alpha
Deploying your project files to a actions.channels.Alpha channel for a project id: "my-project-id"
Sending configuration files
Waiting for server to respond.
✔ Done. Your Action was deployed to actions.channels.Alpha channel. You can check status of deployment in the Actions Console.

Répertorier les versions disponibles

Exécutez gactions release-channels list pour afficher les détails des versions disponibles pour votre action. Vous pouvez utiliser cette commande pour identifier la version déployée ou en attente sur chaque canal.

gactions release-channels list
Release Channel             Current Version             Pending Version
alpha                   1                     N/A

Associer des comptes

Les commandes gactions encrypt et gactions decrypt vous permettent d'administrer les codes secrets du client OAuth2. Ces commandes sont spécifiques à l'association de comptes.

Chiffrer les codes secrets des clients d'association de comptes OAuth2

Exécutez gactions encrypt pour ajouter en toute sécurité les codes secrets du client pour les flux d'association de comptes OAuth2 avec code d'autorisation ou pour chiffrer des codes secrets existants avec une nouvelle clé de chiffrement.

gactions encrypt
Write your secret: *********************
Encrypting your client secret
path/to/myAction/sdk/settings/accountLinkingSecret.yaml already exists. Would you like to overwrite it?. [y/n]
y
✔ Done. Encrypted secret was written to path/to/myAction/sdk/settings/accountLinkingSecret.yaml

Accédez à la valeur en texte brut des secrets chiffrés d'association de comptes.

Exécutez gactions decrypt si vous devez accéder temporairement à la valeur en texte brut du secret du projet. La commande imprime la valeur dans un fichier texte de votre choix. Nous vous recommandons de placer le fichier de destination en dehors du dossier racine du projet afin d'éviter toute fuite accidentelle de la valeur en texte brut.

gactions decrypt ../../burn_after_read.txt
Decrypting your client secret
✔ Done. Check path/above/myActions/burn_after_read.txt to find decrypted client secret.
vi ../../burn_after_read.txt
rm ../../burn_after_read.txt