Pentaho Report Designer でBugHerd のデータを連携利用
CData JDBC Driver for BugHerd のデータ を使えば、ダッシュボードやレポートからリアルタイムデータにアクセスできます。この記事では、BugHerd のデータにJDBC データソースとして接続し、Pentaho でBugHerd のデータをもとにしたレポートを公開する方法を説明します。
接続してレポートを作成
- インストールディレクトリのlib サブフォルダ内にあるドライバーのJAR ファイルを、Pentaho ディレクトリ内の\Report-Designer\lib\jdbc\ フォルダにコピーします。
- \Report-Designer\ フォルダ内のreport-designer.bat ファイルを実行してReport-Designer UI を開きます。
Data -> Add Data Source -> Advanced -> JDBC(Custom)をクリックし、新しいBugHerd 接続を作成して、ドライバーで新しいデータソースを作成します。 表示されるダイアログで、以下のように接続プロパティを設定します。
Custom Connection URL property:JDBC URL を入力します。JDBC URL はjdbc:api: で始まり、その後にセミコロン区切りで接続プロパティを指定します。
まず、Profile 接続プロパティをディスク上の BugHerd プロファイルの場所に設定します(例:C:\profiles\BugHerd.apip)。次に、ProfileSettings 接続プロパティを BugHerd の接続文字列に設定します(以下を参照)。
BugHerd API プロファイル設定
BugHerd では、API キーをユーザー名とする HTTP Basic 認証を使用します。API キーは以下の手順で取得できます。
- https://www.bugherd.com で BugHerd アカウントにサインインします。
- 「Settings」>「General Settings」に移動します。
- 「API Key」セクションで、生成されたキーをコピーします。
API キーを取得したら、以下の接続プロパティを設定します。
- AuthScheme:APIKey に設定します。
ProfileSettings 接続プロパティには、以下を設定します。
- APIKey:BugHerd の API キーに設定します。ドライバーはこのキーを Basic 認証のユーザー名として使用し、BugHerd の仕様に従ってパスワードを内部的に固定値 'x' に設定します。
組み込みの接続文字列デザイナー
JDBC URL の構成については、BugHerd JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.api.jar接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を設定する際、Max Rows 接続プロパティの設定も検討してください。これにより返される行数が制限されます。特にレポートやビジュアライゼーションを設計する際のパフォーマンス向上に役立ちます。
一般的なJDBC URL は次のとおりです:
jdbc:api:Profile=C:\profiles\BugHerd.apip;AuthScheme=APIKey;ProfileSettings='APIKey=your_api_key';- Custom Driver Class Name:cdata.jdbc.api.APIDriver を入力します。
- User Name:認証に使用するユーザー名。
- Password:認証に使用するパスワード。
レポートにBugHerd のデータを追加
BugHerd のデータをもとにレポートを作成する準備が整いました。
-
レポートにBugHerd のソースを追加します。Data -> Add Data Source -> JDBC をクリックしてデータソースを選択します。
クエリを設定します。この記事では以下のクエリを使用します:
SELECT Id, Title FROM Tasks WHERE ProjectId = '519666'
- レポートにチャートをドラッグし、ダブルクリックしてチャートを編集します。レポートを実行してチャートを表示します。このクエリの結果を使用して、Tasks テーブルのシンプルなチャートを作成できます。
- 最後に、レポートを実行してチャートを確認します。