各製品の資料を入手。
詳細はこちら →Jira Service Management のデータ のPostgreSQL インターフェースを作成
Jira Service Management JDBC Driver のリモート機能を使用し、データアクセス用のPostgreSQL エントリポイントを作成します。
最終更新日:2022-12-02
この記事で実現できるJira Service Management 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
PostgreSQL には多くの対応クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータ接続の人気のインターフェースです。JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。
Jira Service Management にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for JiraServiceDesk とJDBC foreign data wrapper (FDW) を使用します。この記事ではFDW をコンパイルしてインストールし、PostgreSQL サーバーからJira Service Management にクエリを実行します。
JDBC データソースとしてJira Service Management のデータに接続する
JDBC データソースとしてJira Service Management に接続するには、以下が必要です。
- Driver のJAR パス:JAR ファイルは、インストールディレクトリのlib サブフォルダにあります。
Driver クラス
cdata.jdbc.jiraservicedesk.JiraServiceDeskDriver
- JDBC URL:
URL は、"jdbc:jiraservicedesk:" で始まり、セミコロンで区切られた名前と値の組み合わせで任意の接続プロパティを含めることができます。
Jira Service Management 接続プロパティの取得・設定方法
任意のJira Service Management Cloud またはJira Service Management Server インスタンスへの接続を確立できます。接続するにはURL プロパティを設定します。
- URL(例:https://yoursitename.atlassian.net)
カスタムフィールドへのアクセス
デフォルトでは、CData 製品はシステムフィールドのみを表示します。Issues のカスタムフィールドにアクセスするには、IncludeCustomFields を設定します。
Jira Service Management への認証
ベーシック認証
ローカルサーバーアカウントで認証するためには、次の接続プロパティを指定します。
- AuthScheme:Basic に設定。
- User:認証ユーザーのユーザー名に設定。
- Password:認証ユーザーのパスワードに設定。
API トークン
Cloud アカウントに接続するには、APIToken を取得する必要があります。API トークンを生成するには、Atlassian アカウントにログインして「API トークン」 -> 「API トークンの作成」をクリックします。生成されたトークンが表示されます。
データに接続するには以下を設定します。
- AuthScheme:APIToken に設定。
- User:認証ユーザーのユーザー名に設定。
- APIToken:作成したAPI トークンに設定。
ちなみに、Cloud アカウントへの接続でパスワード認証を使うことも可能ですが、非推奨となっています。
OAuth 2.0
Jira Service Management のOAuth 2.0 サポート(3LO)を活用して、ログインクレデンシャルなしでデータに接続することもできます。この場合、AuthSchemeをすべてのOAuth フローでOAuth に設定する必要があります。また、すべてのシナリオでカスタムOAuth アプリケーションを作成して構成する必要があります。詳しくは、ヘルプドキュメントの「OAuth」セクションを参照してください。
ビルトイン接続文字列デザイナ
JDBC URL の構成については、Jira Service Management JDBC Driver に組み込まれている接続文字列デザイナを使用できます。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.jiraservicedesk.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:jiraservicedesk:ApiKey=myApiKey;User=MyUser;InitiateOAuth=GETANDREFRESH
JDBC FDW を構築する
FDW は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。例としてjdbc2_fdw 拡張子を使用します。
- ご使用のバージョンのJRE 共有オブジェクトから、/usr/lib/libjvm.so にシンボリックリンクを追加します。コマンド例:
ln -s /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so /usr/lib/libjvm.so
- ビルドするには、以下のコマンドを実行してください。
make install USE_PGXS=1
Jira Service Management のデータをPostgreSQL データベースとしてクエリする
拡張機能をインストールした後、以下のステップに従ってJira Service Management へのクエリの実行を開始します。
- データベースにログイン
-
データベースの拡張機能をロード
CREATE EXTENSION jdbc2_fdw;
-
Jira Service Management のオブジェクトを作成
CREATE SERVER JiraServiceDesk FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS ( drivername 'cdata.jdbc.jiraservicedesk.JiraServiceDeskDriver', url 'jdbc:jiraservicedesk:ApiKey=myApiKey;User=MyUser;InitiateOAuth=GETANDREFRESH', querytimeout '15', jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.jiraservicedesk.jar');
-
PostgreSQL デーモンに認識されているユーザーのユーザー名とパスワードのユーザーマッピングを作成
CREATE USER MAPPING for postgres SERVER JiraServiceDesk OPTIONS ( username 'admin', password 'test');
-
ローカルデータベースに外部テーブルを作成
postgres=# CREATE FOREIGN TABLE requests ( requests_id text, requests_RequestId text, requests_ReporterName numeric) SERVER JiraServiceDesk OPTIONS ( table_name 'requests');
postgres=# SELECT * FROM requests;
おわりに
このようにCData JDBC Driver for JiraServiceDesk を使って簡単にJira Service Management のデータを取得して検索対象にすることができました。ぜひ、30日の無償評価版 をお試しください。