概要
この記事は、REST API から取得したデータを、表形式に変換して公開する方法を説明します。
検証環境
製品 | バージョン | 実行環境 |
---|---|---|
TDV | 8.5.5 HF-002 | Windows 10 |
8.8.0 | Windows 10 |
使用するREST API
RESTデータソースを使用する際は、通常、外部のREST APIを呼ぶこととなりますが、外部のAPIを利用すると、一般的にAPIキーの申請、取得などが必要となります。この記事では、手順を紹介することにフォーカスするために、TDVサーバー自身が提供するREST APIを使用します。
使用するAPIは、バージョン管理システム用のアダプター一覧を取得するvcsAdaptersです。
このAPIは以下のようなJSONを返します:
{
"deployedProviders": [
{
"name": "gitAdapter",
"vcsType": "GIT",
"productName": "GIT",
"fullProductName": "GIT",
"Manufacturer": "Open Source",
"description": "Git Adapter",
"branchingSupported": true
},
{
"name": "svnAdapter",
"vcsType": "SVN",
"productName": "SVN",
"fullProductName": "SVN",
"Manufacturer": "Open Source",
"description": "Svn Adapter",
"branchingSupported": false
}
]
}
詳細は以下のドキュメントを参照してください。
アプリケーション プログラミング インターフェイス ガイド > REST API > TDV Server REST API > バージョン管理システム > GET /vcsAdapters
事前準備
使用するAPIが大量のデータを返す場合は、構成ダイアログで「XMLテキストサイズ」の値を、レスポンスサイズに合わせて大きめに調整してください。
設定手順
以下4つの手順で設定を行います。
① データソースの作成
↓
② 変換(トランスフォーメーション)の作成
↓
③ ビューの作成
↓
④ ビューの公開
① データソースの作成
ここでは、新たなRESTデータソースを作成し、設定します。
①-1. 新しいRESTデータソースの作成
①-2. 基本設定
①-3. 操作(オペレーション)の設定
①-4. イントロスペクト
①-5. 定義タイプの追加
①-6. 「XML<->JSON」の修正(バージョン8.8.0の場合)
①-7. 動作確認
①-1. 新しいRESTデータソースの作成
①-2. 基本設定
以下の項目を設定します。
項目 | 内容 |
データソース名 | 任意の名称 |
ベースURL | http://localhost:9400/rest/vcs/v1 ポート番号は、ご使用のTDVのインストレーションに併せて調整してください。画像では8400を使用しています。 |
認証情報(ログイン/パスワード/認証) | 使用するAPIに合わせた認証(ここでは、BASIC認証) |
JSONフォーマット | 有効 |
パッケージ名 | 任意の名称(この例では pkg を使用) |
JSONベア応答のラッパー |
任意の名称(この例では wrap を使用) |
新しい操作 |
任意の名称(この例では get を使用) |
①-3. 操作(オペレーション)の設定
追加した「操作」を、以下の要領で設定します。
項目 | 内容 |
操作URL | vcsAdapters |
ヘッダー/ボディー パラメータ |
「+」ボタンでパラメータを追加します。 |
Param Name |
任意の名称(この例では response) |
Location |
Body |
InOut | Out |
最後に「作成」ボタンをクリックします。
①-4. イントロスペクト
前ステップで「作成」をクリックすると、以下のイントロスペクトダイアログが表示されます。
「get」を選び、「次へ」をクリックします。
次のダイアログで「終了」をクリックし、イントロスペクトを実行します。
イントロスペクト完了後、「OK」ボタンを押します。
①-5. 定義タイプの追加
元の「新しい物理データソース」ダイアログが再び表示されると、「ヘッダー/ボディ パラメータ」の「Design by Example」ボタンが有効になっています。これをクリックします。
次に「定義タイプの追加」ダイアログが表示されますが、表示までの間に、作成中のvcsAdaptersの下にXMLスキーマ定義「getDefinitions」が自動生成されています。
「getDefinitions」→「wrap」と選び、「OK」をクリックします。
元の「新しい物理データソース」ダイアログに戻ったら、「保存して閉じる」ボタンをクリックして終了します。
この時、Data Typeが前ステップで選んだ「wrap」となっていることもご確認ください。
また、「XML<->JSON」は、本来 checked の状態であるべきですが、バージョン8.8.0では自動でcheckedになりませんした。バージョン8.8.0を使用している場合は、次のステップで修正します。バージョン8.5.5を使用している場合は、checkedの状態であることを確認してください。
「Design By Example」の機能については、以下の公式ドキュメントをご参照ください。
Using Design By Example to Infer Parameter Data Types
①-6. 「XML<->JSON」の修正(バージョン8.8.0の場合)
バージョン8.8.0の場合、「XML<->JSON」が自動でcheckedの状態にならないことがあります。
checkedとなっていない場合、ここで修正します。
再度「vcsAdapters」を開きます。
「XML<->JSON」をチェックし、保存します。
①-7. 動作確認
vcsAdaptersの「get」を開き、実行します。
結果が戻ることを確認します。
② 変換(トランスフォーメーション)の作成
RESTデータソースの結果を変換する定義を作成します。
②-1. 新しい変換(トランスフォーメーション)の作成
②-2. リンク
②-3. 動作確認
②-1. 新しい変換(トランスフォーメーション)の作成
「新しい変換」を選びます。
変換タイプとして「XSLT変換」を選び、ソースとして vcsAdaptersの「get」を選びます。
適宜、名称を設定してください。
②-2. リンク
全ての項目を選び、「リンクとターゲットの作成」ボタンをクリックします。
ターゲットがセットされます。
②-3. 動作確認
実行ボタンをクリックし、変換結果が表示されることを確認します。
③ ビューの作成
変換結果のビューを作成します。
③-1. ビューの作成
③-2. ビューの設定
③-3. 動作確認
③-1. ビューの作成
新たにビューを作成します。
③-2. ビューの設定
先ほど作成した「変換(トランスフォーメーション)」をドラッグ&ドロップします。
「入力値」ダイアログを「OK」で閉じ、保存します。
③-3. 動作確認
ビューを実行し、結果が表示されることを確認します。
④ ビューの公開
ビューをデータベースとして公開します。
④-1. ビューの公開
前ステップで作成したビューをデータベースとして公開します。
④-2. 動作確認
3rdパーティのツールなどでアクセスし、表示されれば完了です。