Slingshot でBitbucket のデータ連携してダッシュボードを作成
デジタルワークプレイスSlingshot のダッシュボードでBitbucket データにCData Connect Server を使ってリアルタイム連携するレポートを作成。
杉本和也
リードエンジニア
最終更新日:2022-10-28
こんにちは!リードエンジニアの杉本です。
Slingshot はインフラジスティックス社が提供するオールインワンのデジタルワークプレイスサービスです。この記事では、CData Connect Server を経由してSlingshot からBitbucket に連携するダッシュボードを作成する方法を説明します。
CData Connect Server は、Bitbucket データのクラウド to クラウドの仮想OData インターフェースを提供し、Slingshot からリアルタイムにBitbucket データへ連携することができます。
Bitbucket の仮想OData API エンドポイントを作成
まずCData Connect Server でデータソースへの接続およびOData API エンドポイント作成を行います。
- CData Connect Server にログインして、Databases をクリックします。
- 利用できるデータソースアイコンから"Bitbucket" を選択します。
-
Bitbucket に接続するために必要なプロパティを入力します。
ほとんどのクエリでは、ワークスペースを設定する必要があります。唯一の例外は、Workspacesテーブルです。このテーブルはこのプロパティの設定を必要とせず、クエリを実行すると、Workspaceの設定に使用できるワークスペーススラッグのリストが提供されます。このテーブルにクエリを実行するには、スキーマを'Information'に設定し、SELECT * FROM Workspacesクエリを実行する必要があります。
Schemaを'Information'に設定すると、一般的な情報が表示されます。Bitbucketに接続するには、以下のパラメータを設定してください。
- Schema: ワークスペースのユーザー、リポジトリ、プロジェクトなどの一般的な情報を表示するには、これを'Information'に設定します。それ以外の場合は、クエリを実行するリポジトリまたはプロジェクトのスキーマに設定します。利用可能なスキーマの完全なセットを取得するには、sys_schemasテーブルにクエリを実行してください。
- Workspace: Workspacesテーブルにクエリを実行する場合を除き、必須です。Workspacesテーブルへのクエリにはこのプロパティは必要ありません。そのクエリはWorkspaceの設定に使用できるワークスペーススラッグのリストのみを返すためです。
Bitbucketでの認証
BitbucketはOAuth認証のみをサポートしています。すべてのOAuthフローからこの認証を有効にするには、カスタムOAuthアプリケーションを作成し、AuthSchemeをOAuthに設定する必要があります。
特定の認証ニーズ(デスクトップアプリケーション、Webアプリケーション、ヘッドレスマシン)に必要な接続プロパティについては、ヘルプドキュメントを必ず確認してください。
カスタムOAuthアプリケーションの作成
Bitbucketアカウントから、以下のステップを実行します。
- 設定(歯車アイコン)に移動し、ワークスペース設定を選択します。
- アプリと機能セクションで、OAuthコンシューマーを選択します。
- コンシューマーを追加をクリックします。
- カスタムアプリケーションの名前と説明を入力します。
- コールバックURLを設定します。
- デスクトップアプリケーションとヘッドレスマシンの場合、http://localhost:33333または任意のポート番号を使用します。ここで設定するURIがCallbackURLプロパティになります。
- Webアプリケーションの場合、信頼できるリダイレクトURLにコールバックURLを設定します。このURLは、ユーザーがアプリケーションにアクセスが許可されたことを確認するトークンを持って戻るWebの場所です。
- クライアント認証情報を使用して認証する予定の場合、これはプライベートコンシューマーですを選択する必要があります。ドライバーでは、AuthSchemeをclientに設定する必要があります。
- OAuthアプリケーションに与える権限を選択します。これにより、読み取りおよび書き込みできるデータが決まります。
- 新しいカスタムアプリケーションを保存するには、保存をクリックします。
- アプリケーションが保存された後、それを選択して設定を表示できます。アプリケーションのKeyとSecretが表示されます。これらを将来の使用のために記録してください。Keyを使用してOAuthClientIdを設定し、Secretを使用してOAuthClientSecretを設定します。
-
Test Database をクリックします。
-
Permission -> Add をクリックして、新しいユーザーを追加し、適切な権限を指定します。
-
API タブをクリックして OData API エンドポイントが生成されていることを確認します。
コネクションとOData エンドポイントを設定したら、Slingshot からBitbucket データに接続できます。
Slingshot にデータソースを追加する
CData Connect Server の設定が完了したら、Slingshot 側に接続設定を追加しましょう。
- Slingshot の対象のワークスペースに移動して「データソース」タブに移動し「+データソース」をクリックします。
- データソースの一覧から利用したいサービスを選択します。ここで先程CData Connect Server で設定したOData エンドポイントの接続を追加します。
- 「URL」にOData エンドポイントのURL を指定し「先制認証を使用する」にチェックを入れます。その上で「資格情報」を追加しましょう。
- 資格情報の種類は「汎用資格情報」になります。合わせてCData Connect Server のユーザー名を入力し、パスワードには先程生成したトークンを入力します。
- あとは「データソースの追加」をクリックすれば、データソースの接続設定は完了になります。
ダッシュボードを作成する
すべての準備が整ったのでBitbucket のデータを活用してダッシュボードを作成していきましょう。
- 「ダッシュボード」タブに移動して「+ダッシュボード」をクリックします。
- 先程追加したCData Connect Server へのOData フィードデータソースが表示されるので、これを選択します。
- すると、事前にCData Connect Server 上で登録しておいたテーブルの一覧がエンティティのセットとして表示されるので、任意のエンティティを選択しましょう。
- これでSlingshot 上に対象のデータがシームレスに読み込まれます。あとは可視化するためのラベルや値を選択することで、以下のように簡単にビジュアライズが実施できます。
このように、CData Connect Server を経由することで、API を意識することなくSlingshot でダッシュボードを作成できます。他にも多くのデータソースに対応するCData Connect Server の詳細をこちらからご覧ください。