guia do usuário das ações

Neste guia, mostramos como usar a ferramenta de interface de linha de comando (CLI) do gactions em cenários de uso comuns. Para mais informações sobre como criar ações de ponta a ponta, consulte a documentação Build de ações de conversa.

Sincronização de projetos

Ao usar o SDK do Actions, o gactions é sua ferramenta para sincronizar projetos de ação entre o Console do Actions e o sistema de arquivos local.

As operações do gactions pull exportam um projeto do Console do Actions para no sistema de arquivos local, e as operações gactions push enviam um projeto por push do sistema de arquivos para o Console do Actions.

Fazer o download das ações no Console do Actions

Execute gactions pull para copiar a configuração de um projeto do Actions para o local no sistema de arquivos.

O project-id do projeto que você quer copiar pode ser transmitido no comando ou no arquivo settings/settings.yaml. Se ambos estiverem presentes, o A CLI dá precedência ao valor transmitido como uma opção.

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

O snippet de código acima mostra como extrair uma ação do rascunho do projeto. Está também é possível extrair de uma versão específica da sua ação. Uma versão representa uma cópia enviada do seu projeto do Actions, que pode ser implantada em um canal de lançamento.

A flag --version-id especifica qual versão vai ser extraída.

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

Use a sinalização --force se quiser substituir as cópias locais do arquivo sem quando a confirmação é solicitada. Use a sinalização --clean para remover os locais arquivos que não estão presentes no rascunho ou versão remoto. Use-os em conjunto para ter um cópia exata do projeto do Console do 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 ações para o rascunho do projeto do console do Actions

Execute gactions push para enviar mudanças do sistema de arquivos local para o rascunho de sua ação no console. Esse processo pode ser útil durante o desenvolvimento para visualizar as alterações refletidas no Console do Actions, sem afetar versão de teste veiculada.

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"

Importar um projeto existente de um sistema de gerenciamento de código-fonte

Se você quiser trabalhar em um projeto já existente em uma revisão em um controle de versões sistema:

  1. Confira a revisão de destino (depende do sistema).
  2. Substitua o valor de projectId no settings.yaml do projeto.
  3. Opcionalmente, execute gactions push para copiar os arquivos de configuração locais para o Projeto do 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

Listar versões

Execute gactions versions list para conferir detalhes sobre as versões da sua ação. Para saber mais sobre os status de versão, consulte a referência 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

Se o status da implantação indicar "Falha na criação", confira mais detalhes sobre isso no Console na seção "Versão" nesta seção.

Implantar projetos

O comando gactions deploy permite implantar seu projeto para testar no Simulador do Actions ou implantação nos canais de lançamento alfa/beta/de produção.

Visualizar no simulador

Execute gactions deploy preview para implantar a ação em "visualização", o que permite você testa a ação no console, sem realmente atualizar a versão seu projeto de ação ou impactar outros desenvolvedores. Em outras palavras, nenhuma das alterações feitas no seu sistema de arquivos local são propagadas para as versões implantadas do seu projeto do Actions, mas estão disponíveis para teste em uma versão de pré-lançamento.

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

Criar versões

Execute gactions deploy para criar lançamentos de versões para canais Alfa/Beta/de produção. que você pode gerenciar na seção Implantar do Console do Actions. Use para testar candidatos a lançamento da sua ação com a versão Alfa e/ou Beta. canais e mover o candidato de lançamento para produção quando estiver satisfeito com o 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.

Como listar canais de lançamento

Execute gactions release-channels list para conferir detalhes sobre os canais de lançamento para sua ação. Use esse comando para identificar a versão implantados ou pendentes em cada canal.

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

Vinculação de contas

Os comandos gactions encrypt e gactions decrypt permitem que você administre o OAuth2 chaves secretas dos clientes. Esses comandos são específicos para a vinculação de contas.

Criptografar chaves secretas do cliente para vinculação de contas OAuth2

Execute gactions encrypt para adicionar chaves secretas dos clientes à conta OAuth2 do código de autenticação com segurança fluxos de associação ou criptografar secrets atuais com uma nova chave de criptografia.

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

Acesse o valor de texto simples das chaves secretas criptografadas de vinculação de conta.

Execute gactions decrypt se você precisar acessar temporariamente o valor de texto simples de segredo do projeto. O comando imprime o valor em um arquivo de texto de sua escolha. Recomendamos que o arquivo de destino esteja fora da pasta raiz do projeto. para evitar qualquer vazamento acidental do valor de texto simples.

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