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/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
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/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
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/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
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:
- Controlla la revisione di destinazione (dipende dal sistema).
- Sostituisci il valore di
projectId
nel valoresettings.yaml
del progetto. - 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