gactions ユーザーガイド

このガイドでは、gactions コマンドライン インターフェース(CLI)ツールの使用方法について説明します。 一般的な使用シナリオで役立ちますアクションをエンドツーエンドで構築する方法については、以下をご覧ください。 会話型アクションのビルドに関するドキュメントをご覧ください。

プロジェクトの同期

Actions SDK を使用する場合、gactions はアクション プロジェクトを同期するためのツールです 接続するためのツールです。

gactions pull オペレーションは、プロジェクトを Actions Console から gactions push オペレーションを実行すると、ローカル ファイル システム Actions Console に追加します。

Actions Console からアクションをダウンロードする

gactions pull を実行して、Actions プロジェクトの構成をローカルにコピーします。 表示されます。

コピーするプロジェクトの project-id をコマンドで渡すことができます。 settings/settings.yaml ファイルに記述します。両方が存在する場合、 CLI はオプションとして渡される値を優先します。

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

上記のコード スニペットは、プロジェクトのドラフトからアクションを pull する方法を示しています。です。 アクションの特定のバージョンから pull することもできます。バージョン は、アクション プロジェクトの送信済みコピーを表します。このコピーは、プロジェクトにデプロイ 設定されます。

--version-id フラグは、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

ファイルのローカルコピーを上書きする場合は、--force フラグを使用します。 確認を求められます。ローカル IP アドレスを削除するには、--clean フラグを使用します。 リモートのドラフトやバージョンに存在しないファイルもアップロードできます。これらを一緒に使用することで、 Actions Console プロジェクトの正確なコピー。

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

Actions Console プロジェクトのドラフトを Actions にプッシュ

gactions push を実行して、変更をローカル ファイル システムからの下書きに push します。 確認できます。このプロセスは、開発段階で Actions Console で反映した変更内容を、直接実行している テストバージョンです

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"

ソースコード管理システムから既存のプロジェクトをインポートする

バージョン管理のリビジョンから既存のプロジェクトを操作する場合 system:

  1. ターゲット リビジョンをチェックアウトします(システムによって異なります)。
  2. プロジェクトの settings.yamlprojectId の値を置き換えます。
  3. 必要に応じて、gactions push を実行してローカル構成ファイルを アクション プロジェクトです。
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

バージョンの一覧表示

gactions versions list を実行して、アクションのバージョンの詳細を表示します。 バージョンのステータスの詳細については、状態のリファレンスをご覧ください。

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

デプロイのステータスが「作成に失敗しました」の場合は、詳細情報を確認できます。 コンソールの [リリース] から。

プロジェクトをデプロイする

gactions deploy コマンドを使用すると、 アクション シミュレータ、またはアルファ版/ベータ版/本番環境リリース チャンネルへのデプロイ。

シミュレータでプレビューする

gactions deploy preview を実行してアクションを「preview」にデプロイします。これにより、 バージョンを実際に更新せずに、コンソールで 他のデベロッパーに影響が及ぶことをお確かめください。つまり、 ローカル ファイル システムで行った変更はデプロイ済みのバージョンに反映される プレビュー版でテストすることができます。

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

リリースを作成する

gactions deploy を実行して、アルファ版/ベータ版/本番環境チャンネルのバージョン リリースを作成します。 これは、Actions Console の [Deploy] セクションで管理できます。 アルファ版やベータ版でアクションのリリース候補をテストするために使用します チャンネルを作成し、問題がなければ、リリース候補版を本番環境に移行します。 説明します。

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.

リリース チャンネルの一覧表示

gactions release-channels list を実行して、リリース チャンネルの詳細を表示します 指定します。このコマンドを使用して、バージョンを 各チャネルにデプロイまたは保留します

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

アカウントのリンク

gactions encrypt コマンドと gactions decrypt コマンドを使用すると、OAuth2 を管理できます クライアント シークレット。これらのコマンドはアカウントのリンクに固有のものです。

OAuth2 アカウント リンクのクライアント シークレットを暗号化する

gactions encrypt を実行して、認証コード OAuth2 アカウントのクライアント シークレットを安全に追加します フローをリンクする、既存のシークレットを新しい暗号鍵で暗号化することもできます。

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

暗号化されたアカウント リンクのシークレットの書式なしテキスト値にアクセスします。

書式なしテキストの値に一時的にアクセスする必要がある場合は、gactions decrypt を実行します。 指定します。このコマンドは、任意のテキスト ファイルに値を出力します。 宛先ファイルはプロジェクトのルートフォルダの外に配置することをおすすめします。 書式なしテキストの値が意図せず漏えいするのを防いでください。

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