guida dell'utente di gactions

Questa guida mostra come utilizzare lo strumento di interfaccia a riga di comando (CLI) gactions in scenari di utilizzo comuni. Per informazioni sulla creazione di azioni end-to-end, consulta la documentazione relativa alla creazione di Azioni conversazionali.

Sincronizzazione dei progetti

Quando utilizzi l'SDK Actions, gactions è lo strumento che ti consente di sincronizzare i progetti di azione tra la console di Actions e il tuo file system locale.

Le operazioni gactions pull esportano un progetto dalla console di Actions al tuo file system locale, mentre le operazioni gactions push eseguono il push di un progetto dal file system locale alla console di Actions.

Scarica le azioni dalla console di Actions

Esegui gactions pull per copiare la configurazione di un progetto Actions nel file system locale.

L'elemento project-id del progetto che vuoi copiare può essere trasmesso dalla riga di comando o scritto nel file settings/settings.yaml. Se sono presenti entrambi, l'interfaccia a riga di comando dà la precedenza al valore passato come opzione.

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

Lo snippet di codice riportato sopra mostra come estrarre un'azione dalla bozza del progetto. È anche possibile estrarre da una versione specifica dell'Azione. Una versione rappresenta una copia inviata del progetto Actions, di cui potrebbe essere eseguito il deployment in un canale di rilascio.

Il flag --version-id specifica la versione di cui eseguire il pull.

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

Utilizza il flag --force se vuoi sovrascrivere le copie locali del file senza che sia richiesta la conferma. Utilizza il flag --clean per rimuovere tutti i file locali che non sono presenti nella bozza o nella versione remota. Usali insieme per ottenere una copia esatta del progetto della console di 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

Esegui il push delle azioni alla bozza del progetto nella console di Actions

Esegui gactions push per eseguire il push delle modifiche dal file system locale alla bozza dell'azione nella console. Questo processo può essere utile durante lo sviluppo per visualizzare le modifiche riflesse nella console di Actions, senza influire sulla versione pubblicata per i 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"

Importare un progetto esistente da un sistema di gestione del codice sorgente

Se vuoi lavorare su un progetto esistente da una revisione in un sistema di controllo della versione:

  1. Controlla la revisione di destinazione (dipende dal sistema).
  2. Sostituisci il valore di projectId nel valore settings.yaml del progetto.
  3. Facoltativamente, esegui gactions push per copiare i file di configurazione locali nel progetto 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

Elenco delle versioni

Esegui gactions versions list per visualizzare i dettagli sulle versioni dell'Azione. Per saperne di più sugli stati delle versioni, consulta la riferimento per lo stato.

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

Se lo stato del deployment è "Creazione non riuscita", puoi trovare maggiori dettagli in merito nella console nella sezione "Release".

Esegui il deployment dei progetti

Il comando gactions deploy ti consente di eseguire il deployment del progetto per testarlo nel simulatore di Actions o per eseguire il deployment nei canali di rilascio alpha/beta/produzione.

Visualizza l'anteprima nel simulatore

Esegui gactions deploy preview per eseguire il deployment dell'azione in "anteprima", in modo da testare l'azione nella console, senza aggiornare effettivamente la versione del progetto dell'azione o senza impatto su altri sviluppatori. In altre parole, nessuna delle modifiche apportate al file system locale viene propagata alle versioni di cui è stato eseguito il deployment del progetto Actions, ma queste sono disponibili per il test in una versione di anteprima.

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 release

Esegui gactions deploy per creare release per i canali alpha/beta/di produzione che puoi gestire tramite la sezione Esegui il deployment della console Actions. Utilizzala per testare le release candidati dell'Azione con i tuoi canali alpha e/o beta e sposta la release candidata in produzione quando il feedback ti soddisfa.

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.

Elenco dei canali di rilascio

Esegui gactions release-channels list per visualizzare i dettagli sui canali di rilascio dell'Azione. Puoi usare questo comando per identificare la versione di cui è stato eseguito il deployment o in attesa per ciascun canale.

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

Collegamento degli account

I comandi gactions encrypt e gactions decrypt consentono di amministrare i client secret OAuth2. Questi comandi sono specifici per il collegamento dell'account.

Cripta l'account OAuth2 che collega i client secret

Esegui gactions encrypt per aggiungere in modo sicuro client secret per i flussi di collegamento degli account OAuth2 con codice di autenticazione o per criptare i secret esistenti con una nuova chiave di crittografia.

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

Accedi al valore in testo normale degli account criptati che collegano i secret.

Esegui gactions decrypt se devi accedere temporaneamente al valore in testo normale del secret del progetto. Il comando stampa il valore in un file di testo a tua scelta. Consigliamo di posizionare il file di destinazione all'esterno della cartella principale del progetto per evitare perdite accidentali del valore in testo normale.

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