CData Software Blog

クラウド連携のCData Software の技術ブログです。

Backlog API を使って、Power BIでプロジェクト・課題状況を分析する:CData ODBC REST Driver

こんにちは。CData Software Japan リードエンジニアの杉本です。

今日は CData ODBC REST Driver を使って、BackLog のAPIで取得できるデータを Power BIから分析する方法を紹介したいと思います。

Backlog とは?

Backlogはウェブ制作、ソフトウェア開発、大手広告代理店、全国版新聞社など様々な業種で使われているプロジェクト管理ツールです。

f:id:sugimomoto:20191224113044p:plain

プロジェクトの管理のための重要な機能が一通り揃っているのが魅力的で、例えばガントチャートを自動的に生成してくれたり

f:id:sugimomoto:20191224113052p:plain

Markdownで記述できるWiki

f:id:sugimomoto:20191224113057p:plain

プロジェクトでのファイル共有機能もあります。

f:id:sugimomoto:20191224113107p:plain

またそれらの機能を扱うための100種類以上ある高機能なAPIが公開されているのが素晴らしいです。ほとんどの操作がAPIで完結できるのではないかと思います。

https://developer.nulab.com/ja/docs/backlog/

f:id:sugimomoto:20191224113116p:plain

今回はこの Backlog API課題一覧の取得 APIを利用して、Power BIで分析できるようにしてみたいと思います。

実現イメージ

今回は Microsoft PowerBI からBacklog API に接続しますが、Backlog API は単純にツールと接続することはできません。PowerBI がどのようにWeb API側へリクエストを投げるべきかの判断材料やメタデータの情報が無いためです。

f:id:sugimomoto:20191224113124p:plain

そこで、CData REST ベースの各種 Driverを用いて、このボトルネックを解決します。

まず、各ツールからはODBCインタフェースでSQL(Select文)をCData REST ODBC Driverに向けて発行してもらいます。そのリクエストを受け取った、CData ODBC REST Driverは、Backlog API のエンドポイントに対して、SQL文を解釈し、HTTPリクエスト形式に変換して、Getメソッドを発行します。

リクエスト後、Jsonフォーマットで返ってきたデータセットはCData REST ODBC DriverがODBCインタフェースのResultsetに変換してツールに返します。

f:id:sugimomoto:20191224113131p:plain

これにより、各種ツールからアドホックSQLによるリクエストがあったタイミングで最新のデータをBacklog API から取得することが可能です。

なお、今回はPowerBIから接続としましたが、TableauやQlikなどからも同じように接続が可能です。

手順

それでは実際に PowerBI と Backlog API の接続方法を説明します。

PowerBI は以下URLから予めデスクトップ版をダウンロードしておいてください。

powerbi.microsoft.com

Backlog API Keyの取得

Backlog API はいくつかの認証方式をサポートしています。

本記事ではAPI Keyを利用した認証方式を利用するため、予めBacklogの画面上からAPI Keyを生成しておきましょう。

まず、Backlog にログインし「個人設定」に移動します。

f:id:sugimomoto:20191224113140p:plain

設定画面のメニューから「API」を選択し、任意のメモを入力して「登録」をクリックします。

f:id:sugimomoto:20191224113146p:plain

登録をクリック後、以下のようにAPIキーが生成されるので、これを後ほど利用します。

f:id:sugimomoto:20191224113153p:plain

APIキーの例:vFJBXQqqEO4n2erfbIZ1dwH0DkVokAzxj99WKTfV5Rg5XvLM5BMHORShf4Vp1VmU

※このAPIキーは既に削除済みです。各自の環境から取得してください。

REST データ処理用 RSDファイルの作成

まず、Backlog APIAPI を CData 各種 REST DeiverがSQLとして解釈できるように設定ファイルを作成します。

以下のGitHubから保存してください。

https://github.com/sugimomoto/CData.REST.Backlog

f:id:sugimomoto:20191224113159p:plain

保存先フォルダは後ほど使用するので「C:\CData_REST\Backlog」といった書き込み可能な任意のフォルダに配置してください。

CData REST ODBC Driverのインストール

PowerBI と Backlog API を繋ぐために必要となるCData REST Driverをインストールします。

まず、以下のURLからCData REST ODBC Driverの30日間の評価版をダウンロードします。ダウンロードの際には、Emailの登録が必要となります。

https://www.cdata.com/jp/drivers/rest/download/odbc/

f:id:sugimomoto:20191224113206p:plain

f:id:sugimomoto:20191224113215p:plain

ダウンロードしたsetup.exeファイルをBIツールがインストールされているマシンにインストールします。インストールウィザードに従い、EULAを確認した上でインストールを完了します。

※途中、ライセンスサーバーへのオンラインアクティベーションが行われるためネットワーク環境に接続されている必要があります。

インストールが完了すると、ODBCのDSN設定のウィンドウが立ち上がります。

以下の項目をセットし、保存します。

Otherには事前に取得したAPIKeyそれからURLに含まれる組織名を指定します。

  • Location=C:\CData_REST\Backlog;
  • Other="ApiKey=XXXXX;OrganizationName=XXXXXX;";

f:id:sugimomoto:20191224113222p:plain

以上で、CData REST Driverの準備は完了です。

PowerBI からの接続

それでは、PowerBIから CData REST ODBC Driverに接続します。

PowerBI デスクトップを立ち上げて「データを取得」をクリックし

f:id:sugimomoto:20191224113227p:plain

ODBC 接続を選択します。

f:id:sugimomoto:20191224113233p:plain

データソース名から先程ODBCで登録したDSNを選択し、Windows認証で接続します。

f:id:sugimomoto:20191224113239p:plain

f:id:sugimomoto:20191224113244p:plain

すると、以下のようにテーブル化された Backlog の課題(issues)テーブルが選択できるようになります。

f:id:sugimomoto:20191224113248p:plain

以上で、Power BIにフラットな形で Backlog の issues が取り込まれます。

f:id:sugimomoto:20191224113253p:plain

あとは、Power BIの機能を使うことで、タスクの情報を分析することが可能です。

f:id:sugimomoto:20191224113300p:plain

おわりに

今回はPower BIからの接続を紹介しましたが、CData Driverを使うことで、Power BI以外のBIツールやETLツールとも連携することが可能になります。

以下のページで各種100種類ほどのツールとの接続方法を紹介していますので、是非いろいろなツールとの連携を試してみてください。

http://www.cdata.com/jp/drivers/rest/

f:id:sugimomoto:20191218110534p:plain

また、課題以外のAPIを取り込めるようにしたい! といった要望があれば是非お気軽にご連絡ください。