SendGridの新しいコマンドラインツールで定型タスクを自動化しよう
- 2019年5月21日
- by SendGrid
- Category: 技術ネタ
この記事は Automate Routine Tasks With SendGrid’s New Command Line Interface の抄訳です。
開発者やIT部門に所属する方はツールで処理できるような定型タスクを抱えていることがよくあります。SendGridを利用されている方にも、この手のタスクを処理するスクリプトを書いたことのある方はたくさんいらっしゃるのではないでしょうか?
私自身も、Inbound Parse Webhook機能の設定を切り替えたり、APIキーを作成したり、宛先リストのアップロードを行ったりといったことを繰り返し行っていると感じていました。開発者がUIでこのような作業を行うのは、コマンドラインからブラウザに作業環境を切り替えるのに時間がかかります。そこで、私はいくつかの内部向けのツールを開発して、Hacktoberfestの期間中に成果を公開しました。
また、数週間前には「サブユーザアカウントを管理しているTeammatesアカウントの一覧を取得したい」というお客様の要望を聞きました。もちろん、このようなことはAPIを利用すれば可能ですが、ニッチなユースケースを解決するために誰もがコードを書きたい(書けるとしても)わけではないのです。
ITや運用を含むさまざまな背景において、このような状況はよくあることかと思います。そこで、sendgrid-cliという今回ご紹介する新しいオープンソースプロジェクトを立ち上げました。
SendGrid CLI(コマンドラインインターフェイス)ツールを利用することでコマンドラインからSendGridのサービスにアクセスすることができます。これにより、CSVファイルのアップロードやWebhookの設定切り替えなどのSendGridプラットフォーム上で一般的な管理操作を行うのにコードを書く必要がなくなります。
CLIでできること
現在、SendGrid CLIには以下の機能があります。
- CSV形式の宛先リストファイルのアップロード
- APIキーの一覧取得
- 各サブユーザのTeammatesアカウントの一覧取得
- Webhookの管理
メール送信はできるの?!と気になるかもしれませんが、我々は慎重なアプローチを取り、このプロジェクトではメール送信機能を実装していません。メール送信機能を含めると、元々このツールで実現したいと思っていたことから逸れてしまうため、特定のユースケースにフォーカスを当てることにしました。
このツールでは今後も、お客様がSendGridプラットフォームを利用する上で行う管理操作上のシナリオにフォーカスを当てていきます。もちろん、みなさんのご意見も大歓迎ですので、issueのオープンやPRをお待ちしています。
技術的なポイント
sendgrid-cliの技術的な内容について興味がある方向けに、ポイントをいくつかご紹介します。
- sendgrid-cliはNode.jsプロジェクトであり、コマンドラインユーティリティとしてyargsライブラリを利用しました。yargsを利用することで、プロジェクト内にサブコマンドを簡単に作成できるようになります。
- メインのAPIコールは@sendgrid/clientライブラリを利用しています。
- コマンドラインの実行結果は、stdoutにJSON形式で出力されるため、処理結果をファイルに出力することができます。
本プロジェクトはMITライセンスにて公開しています。GitHubのSendGrid Organizationで公開しているのでぜひご利用ください!