Claris FileMaker Pro のスクリプト機能を使ってGitHub のデータに接続

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
CData ODBC Driver for GitHub と FileMaker Pro のスクリプト機能を使用して、GitHub に接続し、FileMaker アプリケーションでGitHub のデータを操作する方法を解説します。

Claris FileMaker は、データの管理や整理のためのカスタムアプリを作成できるローコードデータベースアプリケーション開発ツールです。強力なリレーショナルデータベースエンジンと直感的なインターフェースを組み合わせており、技術者でも非技術者でも、デスクトップ、Web、モバイルプラットフォーム向けのアプリケーションを設計・デプロイできます。

この記事では、CData ODBC Driver for GitHub と FileMaker のスクリプト機能を使ってGitHub のデータに接続する方法を解説します。

GitHub 用の ODBC データソースを作成

まだ設定していない場合は、最初に ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最終ステップでもあります。Microsoft ODBC データソースアドミニストレーターを使用して ODBC DSN を作成・設定できます。

GitHub への接続には、OAuth 2 認証標準を使います。OAuth で認証するには、アプリを作成してOAuthClientId、OAuthClientSecret、およびCallbackURL 接続プロパティを取得する必要があります。詳細はヘルプドキュメントの「はじめに」を参照してください。

DSN を設定する際には、Max Rows 接続プロパティも設定することをお勧めします。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時にパフォーマンスを向上させるのに役立ちます。

スクリプトを使用して FileMaker でGitHub のデータを接続・同期

このセクションでは、CData ODBC Driver for GitHub とスクリプト機能を使用して、FileMaker にリアルタイムのGitHub データを接続する手順を説明します。初回インポート時には、FileMaker は外部データソースからすべてのデータを取り込みます。2回目以降のインポートでは、外部ソースで変更されたデータのみが更新されます(差分更新)。また、現在のレコード順序でデータを置換したり、これらの差分更新を自動同期のためにスケジュール設定することもできます。

Mac/Windows/Linux システム向けの最新版 FileMaker Pro は、こちらのリンクからダウンロード・インストールできます。

スクリプトを使った FileMaker との接続と同期

FileMaker のスクリプト機能を使用すると、単一のコマンドで一連のアクションを実行し、複雑なタスクやワークフローを自動化できます。スクリプトを使ってGitHub と連携することで、FileMaker アプリケーション内でGitHub のデータへの接続、インポート、更新、置換を自動化し、データ管理を効率化できます。

スクリプトを使った初回インポートとデータの追加

このセクションでは、以下の手順でスクリプトを使ってGitHub のデータを FileMaker にインポートします:

  1. FileMaker Pro を開きます。左パネルから Create に移動し、Blank > Create を選択します。
  2. 任意のファイル名を入力して Save をクリックします。
  3. Manage Database ウィンドウで Tables タブに移動し、GitHub のデータを表示するテーブルを作成または名前変更します。
  4. Fields タブで、テーブルで使用するフィールドを作成・追加します。
  5. Relationships タブで、複数のテーブルがある場合はテーブルのリレーションシップを追加し、OK をクリックします。
  6. テーブル構造を再度開いて変更するには、File > Manage > Database に移動します。
  7. Scripts > Script Workspace に移動します。
  8. New Script を選択して新しいスクリプトワークスペースを開きます。
  9. 右側の Steps パネルから Records > Import Records > Insert into Script を選択します。
  10. Specify Data Source ドロップダウンで ODBC Data を選択します。
  11. Select ODBC Data Source ウィンドウから CData GitHub Sys を選択し、Continue をクリックします。GitHub の資格情報を入力して OK をクリックします。
  12. Specify ODBC SQL Query ダイアログで、SQL text エディタに SQL クエリを入力して、インポートしたいGitHub のデータを指定します。
  13. あるいは、Query Builder を選択して SQL Query Builder ウィンドウを開きます。Tables セクションから対象テーブルを選択し、Columns セクションから関連するカラムを選択します。各選択後に Insert into SQL Query をクリックしてクエリを自動生成します。WHEREORDER BY 句、または専用のタブを使用してクエリを手動で編集することもできます。OK をクリックしてクエリを確定します。
  14. OK をクリックします。
  15. Specify import order オプションで Specify をクリックし、GitHub の資格情報を入力します。
  16. Specify Import Order ウィンドウで、先ほど追加したターゲットフィールドのインポート順序を定義します。ソースフィールドとターゲットフィールドの間で Add を選択して、GitHub のデータを新しいレコードとしてテーブルに挿入します。Import をクリックします。
  17. これでスクリプトがワークスペースに表示されます。Run をクリックしてスクリプトを実行し、インポートを処理します。
  18. FileMaker がGitHub のデータをテーブルとしてインポートします。

スクリプトを使ったインポート済みデータの更新または置換

GitHub のデータを FileMaker にインポートした後、以下の手順でスクリプトを使ってGitHub で行われた変更を更新または置換できます:

  1. 前のセクションで説明した手順に従って Script Workspace に戻ります。
  2. 既存のスクリプトを選択し、設定ボタンをクリックして Specify Import Order の下の Specify を選択し、認証のためにGitHub の資格情報を再入力します。
  3. Specify Import Order ウィンドウで、ソースとターゲットの間で Update を選択して、インポート済みのGitHub データを更新します。これにより、マッチフィールドの値が同じ場合に、選択したフィールドのGitHub データ値でターゲットの検索セットが更新されます。マッピングで少なくとも1つのマッチフィールドを定義し、Add remaining data as new records チェックボックスを選択する必要があります。Import をクリックします。
  4. あるいは、ユースケースに応じて Update の代わりに Replace オプションを選択します。これにより、ターゲットの検索セット内の選択したフィールドが、現在のレコード順序でGitHub のデータに置換されます。Import をクリックします。
  5. FileMaker がスクリプトをワークスペースに追加します。Run をクリックしてスクリプトを実行し、インポートクエリを処理します。
  6. FileMaker が更新または置換されたGitHub のデータをテーブルとしてインポートします。

今すぐ始めましょう

CData ODBC Driver for GitHub の30日間無償トライアルをダウンロードして、GitHub のデータを Claris FileMaker に統合し、FileMaker アプリケーションでGitHub のデータを活用してみてください。

ご質問がある場合は、サポートチームまでお問い合わせください。

はじめる準備はできましたか?

GitHub ODBC Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

GitHub Icon GitHub ODBC Driver お問い合わせ

GitHub ODBC Driver は、ODBC 接続をサポートする任意のアプリケーションからGitHub のリアルタイムなデータに直接接続できるパワフルなツールです。

標準ODBC Driver インターフェースを使用して、データベースのようにGitHub データ(Repositories、Projects、Labels、Issues など)にアクセスします。