SDK Gemのはじめに
このガイドでは、次の方法について説明します。
- SDK gemをインストールして実行する
- 新しいコネクタープロジェクトを作成する
- コネクターのテストを設定する
- ローカルコネクターをWorkatoワークスペースにプッシュする
前提条件
このチュートリアルを完了するには、次のものが必要です。
Rubyバージョンマネージャー。 オペレーティングシステムに応じて、RubyのバージョンまたはRubyバージョンマネージャーをインストールする必要があります。
Macユーザーは、RVM (Ruby Version Manager)または任意の別のマネージャーを使用できます。
Windowsユーザーは、Ruby Installerを使用できます。
詳細については、Rubyインストールドキュメントを参照してください。
サポートされているRubyのバージョン。
2.7.Xを推奨しますが、バージョン3.0.Xまたは3.1.Xを使用できます。 Rubyがインストールされていない場合は、こちらの手順に従ってインストールしてください。次のコマンド、またはRubyバージョンマネージャーに適したコマンド(例:
rvm current)を実行して、Rubyのバージョンを確認できます。shell$ ruby -v ruby 2.7.Xこのコマンドは、コンピューターに現在インストールされているRubyのバージョンを返します。 この例では、
2.7.Xを使用しています。
ステップ1:SDK Gemをインストールして実行する
コマンドライン(CLI)を使用してSDK gemをインストールするには、次の手順を完了します。
rubygems.orgからgemをインストールするには、次のコマンドを実行します。
$ gem install workato-connector-sdkターミナルでコマンドworkatoを入力して、gemが正しくインストールされていることを確認します。
$ workato
Commands:
workato edit <PATH> # Edit encrypted file, e.g. settings.yaml.enc
workato exec <PATH> # Execute connector defined block
workato generate <SUBCOMMAND> # Generates code from template
workato help [COMMAND] # Describe available commands or one specific command
workato new <CONNECTOR_PATH> # Inits new connector folder
workato push <FOLDER> # Upload and release connector's code
Options:
[--verbose], [--no-verbose]WINDOWSユーザー向け追加インストール手順
Windowsを使用している場合、コマンドgem install tzinfo-dataを実行してtzinfo-data gemをインストールする必要がある場合があります。
任意です。 gemの正確な場所を確認するには、gem whichを実行します。
$ gem which workato-connector-sdkさらに、workatoコマンドを使用して、Development中に使用できるコマンドを表示できます。 個別のキーの詳細を確認するには、workato help editを実行します。
ステップ2:新しいコネクタープロジェクトを作成する
これでセットアップが完了しました。次は、コネクターの作成に進みましょう。
workato newコマンドを使用して新しいコネクタープロジェクトを作成し、<PATH>をプロジェクトに使用するパスに置き換えます。
$ workato new <PATH>これにより、現在のディレクトリにプロジェクトが作成されます。
HTTPモッキング動作に関するプロンプトを完了します。
Please select default HTTP mocking behavior suitable for your project?
1 - secure. Cause an error to be raised for any unknown requests, all request recordings are encrypted.
To record a new cassette you need set VCR_RECORD_MODE environment variable
Example: VCR_RECORD_MODE=once bundle exec rspec spec/actions/test_action_spec.rb
2 - simple. Record new interaction if it is a new request, requests are stored as plain text and expose secret tokens.1または2を使用して選択を入力します。
1 - secure- 推奨。 安定性を確保するため、すべてのHTTPリクエストは暗号化され、VCR経由で記録されます。 認証情報がプレーンテキストで保存されないように、記録を簡単に暗号化する方法も提供します。2 - simple- すべてのHTTPリクエストはプレーンテキストで保存されます。
workato newコマンドによって作成されるファイルの詳細については、プロジェクトディレクトリリファレンスを参照してください。
ステップ3:コネクターを構築してテストする
この手順では、コネクターを構築してテストします。 何をどのように構築するかはユーザー次第であるため、このセクションではテストのみを扱います。
ステップ3.1:テスト認証情報を提供する
認証情報は、プロジェクトのsettings.yaml.encまたはsettings.yamlファイルに保存されます。
ファイルの暗号化を選択した場合は、workato editコマンドを実行し、<EDITOR>を希望するエディターに置き換えます。
例 - Macユーザー
$ EDITOR="<EDITOR>" workato edit settings.yaml.enc例 - Windowsユーザー
$ set EDITOR=notepad
$ workato edit settings.yaml.encこのコマンドを初めて実行すると、settings.yaml.encファイルとmaster.keyファイルが作成されます。
プロジェクトのsettings.yaml.encまたはsettings.yamlファイルに移動し、認証情報を追加します。
この例では1つの認証情報セットを使用するため、ルートレベルで定義できます。
## settings.yaml.enc
api_key: [api_key]
domain: [domain]複数の認証情報セットを提供する方法など、詳細については設定ファイルリファレンスを参照してください。
プロジェクトをコミットする場合は、master.keyをプロジェクトの.gitignoreまたはその他の類似ファイルに追加します。 これにより、誰でもアクセスできる可能性のあるリポジトリに認証情報がチェックインされるのを防ぎます。
ステップ3.2:コネクターをテストする
workato execを使用して、コネクターのコネクション、トリガー、またはアクションをテストします。 これにより、指定したPATHにあるコネクターのlambdaブロックが実行されます。
例:
# Executes the execute block of the new_record action
$ workato exec actions.new_record.execute
# Invokes a polling trigger for the updated_record trigger
$ workato exec triggers.updated_record.poll
# Executes the get_record method with parameters from input.json
$ workato exec methods.get_record --args=input.jsonCLIでのテストの詳細については、CLIでのテストlambda実行ガイドを確認してください。
ステップ4:Workatoワークスペースにプッシュする
準備ができたら、ローカルEnvironmentからWorkatoワークスペースにコネクターコードをプッシュできます。 Workatoワークスペースにプッシュすると、コネクターの機能とUXをテストでき、迅速に反復できることを確認できます。 コネクターコードをWorkatoワークスペースにプッシュするには、次の手順を完了します。
workato pushコマンドを実行します。
$ workato pushWorkatoワークスペースでテストします。 必要に応じてローカルで変更を加え、Workatoワークスペースにプッシュできます。 認可のために、ワークスペースのapi-tokenとapi-emailを指定する必要があります。
APIクライアント権限
このコマンドを使用するには、Get details権限を有効にしたAPIクライアントにClient roleを割り当てる必要があります。
GET DETAILS権限を有効にする
まだ行っていない場合は、ワークスペース管理者 > APIクライアント > Client rolesに移動して、APIクライアントの権限を有効にします。
既存のクライアントロールを編集するか、新しいクライアントロールを作成します。
Admin > ワークスペース details > Get detailsに移動します。
Get details権限を有効にする
ステップ5:コネクターのRSpecテストを実行する
単体テストを使用して、コネクターの各反復が期待どおりに動作していることを確認できます。 コネクターのテスト作成の詳細を確認してください。 RSpecテストを実行するには、次の手順を完了します。
プロジェクト構造がセットアップされていることを確認します。
CLIを開き、ホームディレクトリに移動して、次のコマンドを実行します。
bundle exec rspecRSpecはデフォルトで、specフォルダ内のすべてのspecファイルを実行します。 次のコマンドを実行し、テスト要件に合わせて行番号(16)を変更することで、特定のテストのみを一度に実行できます。
# Runs the test(s) at line 16 of your spec file.
$ bundle exec rspec ./spec/connector_spec.rb:16RSPEC GEMのバージョンがGEMFILEと一致していることを確認する
bundle exec rspecの代わりにコマンドrspecを使用できますが、bundle exec rspecを使用すると、テストに使用するrspec GemのバージョンがGemfileで指定されたバージョンと一致していることを確認できます。
5.1 VCRを設定する
Workato SDK GemはRSpecおよびVCRと連携し、単体テストを作成し、HTTPインタラクション(リクエストとレスポンス)を保存する方法を提供します。これにより、APIにリクエストを繰り返し送信しなくても、これらの単体テストを引き続き実行できます。 これには、同じレスポンスを再生できるという利点もあるため、Application内の実際のデータの変更を心配する必要がありません。
Workatoを使用してプロジェクトを生成すると、これらの設定はデフォルトのVCR設定とともにspec_helper.rb内に自動的に生成されます。 これらのVCR記録は、プロジェクトを最初にセットアップしたときに選択したセキュリティ設定にも依存します。 secureを選択した場合、VCR記録はmaster.keyを使用して暗号化されます。
VCRの使用の詳細を確認してください。
次の予定
- コネクターのアクション、トリガー、およびメソッドの開発について学ぶ
- GitHubでプロジェクトのCI/CDをセットアップする
- lambdaテストの実行の詳細を確認する
Last updated: