Twilio CLI が正式リリース!

October 19, 2022
執筆者
レビュー担当者
Shawn Stern
寄稿者
Twilio の寄稿者によって表明された意見は彼ら自身のものです

TwilioCLI-GA-jp

この記事はSushma Agnihotramこちらで公開した記事(英語)を日本語化したものです。

Twilio Command-Line Interface (CLI) を正式リリースいたしました。Twilio CLIを使用することにより、開発ワークフローの簡素化・最適化が実現いただけます。Twilio CLIは、ビルド、テスト、デプロイ、メンテナンスをターミナルから直接行うことができ、IDE(統合開発環境)、ブラウザタブ、コンソール、ターミナル間のコンテキストスイッチの必要性を軽減することが可能です。さらにCLIは、反復タスクの自動化、ログの追加、共通のタスクをグループ化することでAPIとのインタラクションを簡素化するコマンドの使用など、様々なことに使用することが可能です。

以降で、Twilio CLIの主要機能の概要を説明します。

コマンド

TwilioのすべてのAPIは、apiをルートコマンドとすることでターミナルからアクセスすることができます。

以下コマンドを使用してターミナルから直接APIを探索し、呼び出してください。

$ twilio api:<command>

Twilio CLIがAPIの単純なラッパーであるレベルを超えて、お客様が開発・運用上のタスクを迅速に完了できるように、最も一般的な機能をCLIコマンドにまとめています。

例えば、あなたの国や市外局番で利用可能な電話番号のリストを表示するには、以下を使用します(例: 米国の市外局番209の場合)。

twilio api:core:available-phone-numbers:local:list \
  --area-code="209" --country-code US

また、ターミナル上で電話番号を購入する場合のコマンド例は以下です。

twilio api:core:incoming-phone-numbers:create \
  --phone-number="+12097304096"

(↓ 上記2つのコマンド例の実行・結果をアニメーション形式でビジュアルにご確認いただけます。)

さらに、アプリケーションをデバッグする場合のコマンド例は以下です。

twilio debugger:logs:list

(↓ 上記コマンド例の実行・結果をアニメーション形式でビジュアルにご確認いただけます。)

その他のサンプルはこちらでお試しください。

CLIを極める〜オートコンプリート機能、ヘルプ機能

twilio autocompleteコマンドを使用して、オートコンプリート機能を有効にすることをお勧めします。オートコンプリートを有効にすると、Tabキーを押すことで自動的にコマンドが完了するか、候補が表示されるようになります。

twilio autocomplete

オートコンプリートのメリットは、コマンドを書く時間を短縮する点だけでなく、CLIコマンドを探索する点にもあります。

タブ(=候補の表示)をめくって自分のシナリオに関係のあるコマンドを見つけたら、--helpまたは-hフラグを使用して、これらのコマンドの引数やサポートされているフラグに関する詳細な情報を確認します。

上記アニメーション例では、Tab--helpを使用してConversations API系のコマンドのシンタックスや引数等を探索していますが、Conversations APIに限らず、すべてのトピックに関連するCLIコマンドも同様に探索することができます。

CLIを拡張する〜プラグイン機能

Twilio CLIにはプラグインフレームワークが組み込まれており、これを使用してTwilio CLIを拡張し、チームで共通の運用タスクを実行することができます。プラグインを公開してコミュニティと広く共有することもできますし、自分自身やクライアントが使用するために非公開にすることもできます。独自のプラグインを構築する方法の詳細については、こちらをご確認ください。

プラグインをインストールするにはplugins:installコマンドを使い、引数としてパッケージ名を指定してください。

twilio plugins:install <plugin-package-name>

皆さんが独自のCLIプラグインを構築するだけでなく、Twilioの従業員によって構築された既存のプラグインを使用して、CLI機能を拡張することも可能です。以下では筆者のお気に入りのプラグインをいくつか紹介します。

  • Twilio Flexプラグインを使用して、コンタクトセンターをカスタマイズするためのFlexプラグインを開発、ビルド、デプロイできます。
twilio plugins:install @twilio-labs/plugin-flex
  • Serverlessプラグインを使用して、ローカルマシンのターミナル上でTwilio Serverlessの開発、デバッグ、デプロイを行うことができます。
twilio plugins:install @twilio-labs/plugin-serverless
  • SMSや通話機能への確実で容易なアクセスがない場合(例: 日本のお客様が日本に居ながら米国の+1の電話番号から通話発信して、開発中の自動音声応答アプリを検証したい)、Dev Phoneプラグインを使用してTwilioアプリをテストすることが可能です。
twilio plugins:install @twilio-labs/plugin-dev-phone
twilio plugins:install @twilio-labs/plugin-webhook

CLIプラグインの詳細については、こちらをご確認ください。

プラグインはTwilio CLIの上に構築されています。興味のあるプラグインのリポジトリを確認し、ベータ版か正式リリースされているかを確認してください。

コマンド出力の制御

ユースケースに応じて、コマンドの出力形式をカスタマイズしたり、出力列をフィルタリングしたり、値を制限することができます。

  • 出力するカラム列を明示的に制御するには、--propertiesオプションを使用します。
  • CLIの出力をJSON(JavaScript Object Notation)形式でjqのようなツールにデータ連携(パイプ処理)してデータ解析したい場合、コマンドに-o jsonを追加すると、APIレスポンス全体をJSONとして標準出力に送信します。
  • 出力を修正して機械処理タスクに渡したい場合、コマンドに-o tsvを追加すると、出力形式がタブ区切り値(TSV)に変更されます。

CLIを使ってみましょう!

クイックスタートガイドを活用してTwilio CLIに慣れ、何らかのユースケースの下に具体的に構築してみましょう!

正式リリースバージョンで問題が発生した場合、サポート部門にチケットを上げることができます。フィードバックや機能拡張要望がある場合は、CLIから直接twilio feedbackコマンドを実行し、フィードバックを共有してください。

コミュニケーションの未来を創造しましょう!