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/sdkls -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 settingsvi 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/sdkls -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/sdkgactions 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:
- Vérifiez la révision cible (selon le système).
- Remplacez la valeur de
projectId
dans le fichiersettings.yaml
du projet. - 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