guía del usuario de gactions

En esta guía, se muestra cómo usar la herramienta de la interfaz de línea de comandos (CLI) de gactions en situaciones de uso comunes. Para obtener información sobre la compilación de acciones de extremo a extremo, consulta la documentación de compilación de acciones conversacionales.

Sincronización de proyectos

Cuando se usa el SDK de Actions, gactions es tu herramienta para sincronizar proyectos de acción entre la Consola de Actions y tu sistema de archivos local.

Las operaciones gactions pull exportan un proyecto de la Consola de Actions a tu el sistema de archivos local y las operaciones de gactions push envían un proyecto desde tu entorno local de archivos a la Consola de Actions.

Descargar Actions de la Consola de Actions

Ejecuta gactions pull para copiar la configuración de un proyecto de Actions en la ubicación local. un sistema de archivos completo.

El project-id del proyecto que quieres copiar se puede pasar en el comando la línea de comandos o se escribe en el archivo settings/settings.yaml. Si ambos están presentes, el CLI da prioridad al valor que se pasa como opción.

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

En el fragmento de código anterior, se muestra cómo extraer una acción del borrador del proyecto. Es también es posible obtener de una versión específica de tu acción. Una versión representa una copia enviada de tu proyecto de acciones, que podría implementarse en un canal de versiones.

La marca --version-id especifica qué versión extraer.

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

Usa la marca --force si deseas reemplazar las copias locales del archivo sin en el que se te pida confirmación. Usa la marca --clean para quitar las palabras clave que no están presentes en el borrador o la versión remotos. Úsalos juntos para obtener una copia exacta del proyecto de la Consola de 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

Enviar acciones al borrador del proyecto de la Consola de Actions

Ejecuta gactions push para enviar cambios del sistema de archivos local al borrador de tu Acción en la consola. Este proceso puede ser útil durante el desarrollo para ver tus cambios reflejados en la Consola de Actions sin afectar el que se entrega para realizar pruebas.

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"

Importa un proyecto existente desde un sistema de administración de código fuente

Si deseas trabajar en un proyecto existente a partir de una revisión en un control de versión sistema:

  1. Comprueba la revisión de destino (depende del sistema).
  2. Reemplaza el valor de projectId en el settings.yaml del proyecto.
  3. De manera opcional, ejecuta gactions push para copiar los archivos de configuración local en el Proyecto de acciones.
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

Enumerar versiones

Ejecuta gactions versions list para ver detalles de las versiones de tu acción. Para obtener más información sobre los estados de las versiones, consulta la referencia del Estado.

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

Si el estado de tu implementación indica “Creation failed”, puedes obtener más detalles en la consola, en la sección "Versión" sección.

Implementa proyectos

El comando gactions deploy te permite implementar tu proyecto para probarlo en Simulador de acciones o implementación en canales de versiones alfa, beta o de producción.

Vista previa en el simulador

Ejecuta gactions deploy preview para implementar tu acción en la "vista previa", lo que permite prueba tu acción en la consola, sin tener que actualizar la versión del tu proyecto de Actions o que afecte a otros desarrolladores. En otras palabras, ninguno de los los cambios que realices en tu sistema de archivos local se propagan a las versiones implementadas de tu proyecto de Acciones, pero están disponibles para probarlos en una versión preliminar.

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

Crea versiones

Ejecuta gactions deploy para crear versiones de versiones para los canales alfa, beta o de producción. que puedes administrar en la sección Implementar de la Consola de Actions. Úsalo para probar versiones candidatas de tu acción en las versiones alfa o beta. y trasladar la versión candidata a producción cuando estés conforme con los comentarios.

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.

Muestra una lista de los canales de versiones

Ejecuta gactions release-channels list para ver los detalles de los canales de versiones para tu acción. Puedes usar este comando para identificar la versión implementados o pendientes en cada canal.

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

Vinculación de las cuentas

Los comandos gactions encrypt y gactions decrypt te permiten administrar OAuth2. Secrets del cliente. Estos comandos son específicos para la vinculación de cuentas.

Encripta los secretos del cliente para vincular cuentas de OAuth2

Ejecuta gactions encrypt para agregar de forma segura secretos del cliente para la cuenta de OAuth2 del código de autenticación. vincular flujos o encriptar los Secrets existentes con una nueva clave de encriptación.

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

Accede al valor de texto sin formato de los secretos encriptados de vinculación de cuentas.

Ejecuta gactions decrypt si necesitas acceder temporalmente al valor de texto sin formato de del secreto del proyecto. El comando imprime el valor en un archivo de texto que elijas. Recomendamos que el archivo de destino esté fuera de la carpeta raíz del proyecto para evitar filtraciones accidentales del valor de texto sin formato.

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