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 cómo compilar acciones de extremo a extremo, consulta la documentación de compilación de acciones de conversación.
Sincronización de proyectos
Cuando usas 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 sistema de archivos local, y las operaciones gactions push
envían un proyecto de tu sistema de archivos local a la Consola de Actions.
Cómo descargar acciones de la Consola de Actions
Ejecuta gactions pull
para copiar la configuración de un proyecto de Acciones en el sistema de archivos local.
El project-id
del proyecto que deseas copiar se puede pasar en la línea de comandos o se puede escribir en el archivo settings/settings.yaml
. Si ambos están presentes, la 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/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
En el fragmento de código anterior, se muestra cómo extraer una acción del borrador del proyecto. También es posible extraer de una versión específica de tu acción. Una versión representa una copia enviada de tu proyecto de acciones, que se puede implementar en un canal de versiones.
La marca --version-id
especifica qué versión se 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/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
Usa la marca --force
si deseas reemplazar las copias locales del archivo sin que se te solicite confirmación. Usa la marca --clean
para quitar cualquiera de los archivos locales que no estén presentes en la versión o el borrador remotos. Úsalos en conjunto 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/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
Cómo enviar acciones al borrador del proyecto de la Consola de Actions
Ejecuta gactions push
para enviar los 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 los cambios reflejados en la Consola de Actions sin afectar la versión que se entrega para las 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 quieres trabajar en un proyecto existente a partir de una revisión en un sistema de control de versión, haz lo siguiente:
- Comprueba la revisión objetivo (depende del sistema).
- Reemplaza el valor de
projectId
en elsettings.yaml
del proyecto. - De manera opcional, ejecuta
gactions push
para copiar los archivos de configuración local en el proyecto de 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
Enumerar versiones
Ejecuta gactions versions list
para ver los detalles de las versiones de tu Acción.
Para obtener más información sobre los estados de la versión, consulta la referencia de 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 “Error de creación”, puedes obtener más detalles sobre ella en la sección “Versión” de Console.
Implementa proyectos
El comando gactions deploy
te permite implementar tu proyecto para probarlo en el simulador de Actions o implementarlo en los canales de versiones alfa, beta o de producción.
Vista previa en el simulador
Ejecuta gactions deploy preview
para implementar tu acción en una "vista previa", lo que te permite
probarla en la consola, sin actualizar la versión
del proyecto de acción ni afectar a otros desarrolladores. En otras palabras, ninguno de los cambios que realices en el sistema de archivos local se propagará a las versiones implementadas de tu proyecto de acciones, pero podrás 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
a fin de crear versiones de versiones para canales alfa, beta o de producción que puedes administrar a través de la sección Deploy en la Consola de Actions.
Úsala para probar las versiones candidatas de tu acción con los canales alfa o beta, y moverlas 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.
Enumera los canales de versiones
Ejecuta gactions release-channels list
para ver los detalles de los canales de versiones de tu acción. Puedes usar este comando para identificar la versión implementada o pendiente 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 los secretos del cliente OAuth2. Estos comandos son específicos para la vinculación de cuentas.
Encripta los secretos del cliente de vinculación de cuentas de OAuth2
Ejecuta gactions encrypt
para agregar de forma segura los secretos de cliente para los flujos de vinculación de cuentas de OAuth2 del código de Auth o encriptar los secretos existentes con una clave de encriptación nueva.
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 de vinculación de cuentas encriptados.
Ejecuta gactions decrypt
si necesitas acceder de forma temporal al valor de texto sin formato del secreto del proyecto. El comando muestra el valor en el archivo de texto que elijas.
Recomendamos que el archivo de destino esté fuera de la carpeta raíz del proyecto para evitar una filtración accidental 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