JRuby からZendesk にデータ連携

リアルタイムZendesk に連携するシンプルなJRuby アプリケーションを作成します。

加藤龍彦
デジタルマーケティング

最終更新日:2022-10-23

この記事で実現できるZendesk 連携のシナリオ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for Zendesk を使用すると、JRuby からリアルタイムZendesk へのデータ連携を簡単に実装できます。ここでは、Zendesk に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。

Zendesk のデータにJDBC で接続

アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for Zendesk\libにあります。)

JRuby は、JDBC をネイティブにサポートしているため、簡単にZendesk に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。

Zendesk 接続プロパティの取得・設定方法

Zendesk に接続するには、https://{subdomain}.zendesk.com の形式でURL(Zendesk Support URL)を設定します。接続後、次のセクションの説明に従ってユーザー認証を行います。

また、TicketMetrics テーブルのアーカイブデータを扱うユーザーは、UseIncrementalAPI プロパティをTrue に設定する必要があります。

Zendesk への認証

Zendesk は、Zendesk インスタンスの設定に応じて、3種類の認証をサポートします。API トークン認証、OAuth 認証、Basic 認証(レガシー)です。

API トークン認証

API トークン認証を使用する場合は、E メールアドレスとApiToken を指定します。 AuthSchemeAPIToken に、User をE メールアドレスに設定し、Zendesk Support の管理画面で以下の設定を行います。

  1. Token アクセスを有効にします。
  2. Admin -> Channels-> API で、API トークンを管理します。一度にアクティブにできるトークンは1つだけです。トークンを削除すると、そのトークンは永久に無効化されます。
最後に、APIToken をアクティブなAPI トークンに設定します。

その他の認証方法についてはヘルプドキュメントを参照してください。

ビルトイン接続文字列デザイナー

JDBC URL の構成については、Zendesk JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

java -jar cdata.jdbc.zendesk.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

以下はZendesk の一般的なJDBC 接続文字列です。

jdbc:zendesk:URL=https://subdomain.zendesk.com;[email protected];Password=test123;InitiateOAuth=GETANDREFRESH

Zendesk のデータへの接続性を持つJRuby アプリを作成

新しいRuby ファイル(例: ZendeskSelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。

require 'java' require 'rubygems' require 'C:/Program Files/CData/CData JDBC Driver for Zendesk 2018/lib/cdata.jdbc.zendesk.jar' url = "jdbc:zendesk:URL=https://subdomain.zendesk.com;[email protected];Password=test123;InitiateOAuth=GETANDREFRESH" conn = java.sql.DriverManager.getConnection(url) stmt = conn.createStatement rs = stmt.executeQuery("SELECT Id, Subject FROM Tickets") while (rs.next) do puts rs.getString(1) + ' ' + rs.getString(2) end

ファイルが完成したら、コマンドラインからファイルを実行するだけでJRuby でZendesk を表示できるようになります。

jruby -S ZendeskSelect.rb

SQL-92 クエリをZendesk に書き込むと、Zendesk を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。