詳細解説: Dialogflow から Actions Builder への migration 手順
2020年 12月 1日


Google アシスタントアクションを、Dialogflow から Actions Builder へ migration したので、その手順をスクリーンショット付きで解説していこうと思います。



  1. Create a backup of your Dialogflow project by using Dialogflow's export feature.
  2. Go to the Actions console and open the project you want to migrate.
  3. Navigate to Develop > Actions and click Preview migration.
  4. Click through the informational slides and then click Start migration.
  5. Choose Migrate as a new project.
  6. Review the migration report and optionally download it for future reference.
  7. Click Migrate.
  8. Enter a name for your "experimental" project and click Create Project. Make a note of the Project ID.
  9. Complete any post-migration set up needed and verify your Action is functioning as intended.
  10. Use the gactions CLI to pull the draft of your "experimental" project.
  11. Reopen your "original" Dialogflow project in the Actions console.
  12. Navigate to Develop > Actions and click Preview migration.
  13. Choose Migrate this project.
  14. Click Migrate.
  15. Click the More icon > Project settings and make note of the Project ID.
  16. On your local system, open the settings.yaml file of the "experimental" project you pulled, and replace the projectId with the project ID of the "original" project.
  17. Use the gactions CLI to push the draft of your locally saved project.
  18. Follow the steps for publishing through the alpha or beta channels, or publish your Action to production.



Dialogflow のバックアップを作成


スクリーンショット 2020-12-01 14.17.03

Dialogflowの管理画面で Export をクリックして、バックアップを取得しておきます。

Preview migration の開始

次に、Preview migration を実行しましょう。

スクリーンショット 2020-12-01 14.28.19

Actions on Google の管理画面で Develop -> Actions に行き Preview migration をクリックします。

スクリーンショット 2020-12-01 14.20.05

モーダルが開くので Next -> Start migration の順にクリックしていきます。その後出てきた画面で Migrate as a new project を選択し Migrate をクリックしましょう。

(必要があれば Analytics の中身も Export しておきましょう。リセットされますので。)

スクリーンショット 2020-12-02 11.41.49

New Projectが開くので、お好きなマイグレーション用のプロジェクト名をつけて Create Project をクリックします。


マイグレーション用のプロジェクトに Dialogflow からマイグレートされた Actions Builder があると思いますので、それが正常に動作するように、開発を行います。


gactions CLI でマイグレーション用のプロジェクトを pull する

頑張って開発が終わったら gactions で作ったプロジェクトをpullして Actions Builder で作ったものを ソースコード化しましょう。

gactions pull --project-id experimental-project-id

ついでに Git 等にUPして、バージョン管理もする事をおすすめします。

再度 Preview migration を実行する

gactions での pull が終わったら、再度 オリジナルの方の Actions on Google の管理画面で Preview migration をクリックしましょう。

Next -> Start migration の順にクリックしていき、

スクリーンショット 2020-12-01 14.28.55

次は Migrate this project を選択して Migrate をクリックしましょう。

Project IDをメモする

スクリーンショット 2020-12-01 14.32.10 次に オリジナルの方の Project ID をメモします。管理画面の右上のメニューから Project settings をクリックして Project ID をコピーしましょう。

settings.yaml の修正

先程 gactions で pull したソースコードを見ましょう。

settings というディレクトリの中に settings.yaml が入っています。

projectId: hogehogehoge
usesDigitalPurchaseApi: true

その中の projectId の項目を、先程メモした Project ID に書き換えます。

マイグレーション用に作った Actions Builder を オリジナルの方に 上書きするわけです。

gactions CLI で push する

いよいよ gactions で push して、上書きです。


gactions push


$ gactions push                                                
Pushing files in the project "hogehogehoge" to Actions Console. This may take a few minutes.
Sending configuration files...
Waiting for server to respond...
[WARNING] Server found validation issues (however, your files were still pushed):
  Locale  Validation Result                                                                                                                       
  en      Could not reserve your pronunciation 'xxxxx' because: Your display name's pronunciation is already reserved by another Action.  
  en      For en: Your sample pronunciations are structured incorrectly.                                                                          
  ja      Could not reserve your pronunciation 'xxxxx' because: Your display name's pronunciation is already reserved by another Action.       
✔ Done. Files were pushed to Actions Console, and you can now view your project with this URL: If you want to test your changes, run "gactions deploy preview", or navigate to the Test section in the Console.



あとは、α版なり、β版なり、Production版なりを、正規の手順でリリースすれば、完了です。 おめでとうございます!


実際に migration をしてみての知見を共有しておきます。参考になれば幸いです。

User storage 関連

マイグレーションを行うと User storage がリセットされます。バグっぽいので、現在調査をしてもらっています。ご注意下さい。

Settings 関連

マイグレーション用のアクション名は オリジナルの方 と同じだと実機でのテストが出来ません。一時的に別名をつけて開発をしましょう。

service account key 関連

push 通知送ったり 課金をしたりする際に使用する service account key ですが、少々不便な点もあります。


Brand verification 関連

スクリーンショット 2020-12-01 16.06.47 マイグレーションを行うと Brand verification の Android apps のチェックが外れます。忘れずに再チェックしましょう。


以上、ご参考になれば、幸いです。 楽しい Google アシスタントアクション開発ライフを!