guida dell'utente di gactions

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

Sincronizzazione dei progetti

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

Le operazioni di gactions pull esportano un progetto dalla console Actions il file system locale e le operazioni gactions push eseguono il push di un progetto alla console Actions.

Scaricare le azioni dalla console di Actions

Esegui gactions pull per copiare la configurazione di un progetto Actions nell'ambiente locale file system in-app.

L'elemento project-id del progetto che vuoi copiare può essere passato al comando 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 ti viene chiesta conferma. Usa il flag --clean per rimuovere qualsiasi che non sono presenti nella bozza o nella versione remota. Usali insieme per ottenere una copia esatta del progetto della 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/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 della console Actions

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

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

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

  1. Controlla la revisione della 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 locale nella 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 il 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 ottenere maggiori dettagli nella sezione "Release" della console .

Esegui il deployment dei progetti

Il comando gactions deploy ti consente di eseguire il deployment del tuo progetto per eseguire test nel Simulatore di azioni o deployment nei canali di rilascio alfa/beta/di produzione.

Anteprima nel simulatore

Esegui gactions deploy preview per eseguire il deployment dell'azione in "anteprima". In questo modo testerai l'azione nella console, senza aggiornare effettivamente la versione il tuo progetto Action o avere un impatto su altri sviluppatori. In altre parole, nessuna delle le modifiche apportate nel file system locale vengono propagate alle versioni di cui è stato eseguito il deployment del progetto Actions, ma 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 di versione per i canali alfa/beta/di produzione che puoi gestire tramite la sezione Esegui il deployment della console Actions. Utilizzala per testare i candidati alla release dell'azione con la versione alpha e/o beta i canali e sposta il candidato di uscita in produzione quando è soddisfacente con il feedback.

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 per l'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 ti consentono di amministrare OAuth2 i tuoi client secret. Questi comandi sono specifici per il collegamento degli account.

Cripta i client secret dell'account OAuth2

Esegui gactions encrypt per aggiungere in modo sicuro client secret per l'account OAuth2 con codice di autenticazione flussi di collegamento 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 dei secret criptati per il collegamento degli account.

Esegui gactions decrypt se devi accedere temporaneamente al valore in testo normale di il secret del progetto. Il comando stampa il valore su un file di testo di tua scelta. Consigliamo che il file di destinazione si trovi al di fuori della cartella principale del progetto per evitare la perdita accidentale del valore del 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