Pentaho Report Designer でServiceNow のデータを連携利用
CData JDBC Driver for ServiceNow のデータ を使えば、ダッシュボードやレポートからリアルタイムデータにアクセスできます。この記事では、ServiceNow のデータにJDBC データソースとして接続し、Pentaho でServiceNow のデータをもとにしたレポートを公開する方法を説明します。
ServiceNow データ連携について
CData は、ServiceNow のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:
- CData はデータには REST API を、スキーマには SOAP API を使用するため、最適化されたパフォーマンスを実現できます。
- Schedules、Timelines、Questions、Syslogs などの ServiceNow オブジェクトの読み取り、書き込み、更新、削除ができます。
- SQL ストアドプロシージャを使用して、カートへのアイテム追加、注文の送信、添付ファイルのダウンロードなどのアクションを実行できます。
- Basic(ユーザー名とパスワード)、OKTA、ADFS、OneLogin、PingFederate 認証スキームを含め、ServiceNow に安全に認証できます。
多くのユーザーは、Tableau、Power BI、Excel などのお気に入りの分析ツールからライブ ServiceNow データにアクセスし、CData ソリューションを使用して ServiceNow データをデータベースやデータウェアハウスに統合しています。
はじめに
接続してレポートを作成
- インストールディレクトリのlib サブフォルダ内にあるドライバーのJAR ファイルを、Pentaho ディレクトリ内の\Report-Designer\lib\jdbc\ フォルダにコピーします。
- \Report-Designer\ フォルダ内のreport-designer.bat ファイルを実行してReport-Designer UI を開きます。
Data -> Add Data Source -> Advanced -> JDBC(Custom)をクリックし、新しいServiceNow 接続を作成して、ドライバーで新しいデータソースを作成します。 表示されるダイアログで、以下のように接続プロパティを設定します。
Custom Connection URL property:JDBC URL を入力します。JDBC URL はjdbc:servicenow: で始まり、その後にセミコロン区切りで接続プロパティを指定します。
ServiceNow はOAuth 2.0 認証標準を利用しています。OAuth を使って認証するには、ServiceNow にOAuth アプリを登録してOAuthClientId を取得しなければなりません。OAuth 値の他に、Instance、User、およびPassword の指定が必要です。
OAuth 認証を介した接続について詳しくは、ヘルプドキュメントの「OAuth 認証の使用」を参照してください。
組み込みの接続文字列デザイナー
JDBC URL の構成については、ServiceNow JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.servicenow.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を設定する際、Max Rows 接続プロパティの設定も検討してください。これにより返される行数が制限されます。特にレポートやビジュアライゼーションを設計する際のパフォーマンス向上に役立ちます。
一般的なJDBC URL は次のとおりです:
jdbc:servicenow:OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;Username=MyUsername;Password=MyPassword;Instance=MyInstance;
- Custom Driver Class Name:cdata.jdbc.servicenow.ServiceNowDriver を入力します。
- User Name:認証に使用するユーザー名。
- Password:認証に使用するパスワード。
レポートにServiceNow のデータを追加
ServiceNow のデータをもとにレポートを作成する準備が整いました。
-
レポートにServiceNow のソースを追加します。Data -> Add Data Source -> JDBC をクリックしてデータソースを選択します。
クエリを設定します。この記事では以下のクエリを使用します:
SELECT sys_id, priority FROM incident
- レポートにチャートをドラッグし、ダブルクリックしてチャートを編集します。レポートを実行してチャートを表示します。このクエリの結果を使用して、incident テーブルのシンプルなチャートを作成できます。
- 最後に、レポートを実行してチャートを確認します。