こんにちは。CData Software Japanリードエンジニアの杉本です。
今回は、IT サービスデスク& ITSM ソフトウェアの「JIRA Service Management」に接続できる、CData JIRA Service Desk Driver のTipsをお届けします。
www.atlassian.com
www.cdata.com
実現したいこと
今回実現したいことは「リクエストの一覧」でカスタムフィールドも含めて値を取得する方法です。
まず、リクエストについて簡単に確認しておきましょう。
JIRA Service Deskは社内のITサービス向けに問い合わせ用ポータルを簡単に構成することができます。
以下のようなフォームで問い合わせ用の種別や、概要、詳細、添付ファイルを送信できます。
このリクエストはJIRA Service managementのWebSite側で以下のように確認できます。(Request Typeが付与されているものが対象です)
CData Driverではこのデータを「Requests」というテーブルで取得することができるようになっています。
しかしながら、ご覧頂いて分かる通り、問い合わせフォームで指定できる「Summary」や「Description」「Compornents」といった項目が表示されていません。
カスタムフィールドの表示方法
このカスタムフィールドを表示したい場合は、以下の接続プロパティ「IncludeCustomFields」をTrueに設定する必要があります。
cdn.cdata.com
このプロパティをTrueにした状態で接続すると、通常であれば14種類のカラムしか取得できないのですが、
以下のように一気に取得できるカラムの数が増加します。
再度SQLを実行してみると、以下のようにSummaryなどの情報も取得することができました。
なお、カスタムフィールドの情報は、キャッシュによってすぐに反映されない場合があります。
もしすぐにカスタムフィールドを確認したい場合は、「reset schema CACHE;」というSQLを実行してみてください。
API に関する補足
このカスタムフィールド、内部的には「GET /rest/servicedeskapi/servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/field」というAPIを使って、事前に必要なカラムを識別しています。
developer.atlassian.com
これは、リクエストタイプに存在するフィールドを表示します。
リクエストタイプに存在するフィールドは「Project Settings」→「Request Types」から任意のリクエストタイプを選択することで確認できます。
ここで注意しなければいけない点は、すべてのカスタムフィールドを表示しているわけではなく、Request Typesに紐付けられたカスタムフィールドだけを表示しているという点です。
カスタムフィールドは、「Jira Service Management」の「Project Settings」→「Fields」で確認できますが、ここに存在する一覧はリクエストタイプと紐付けられていないものも存在します。
リクエスト一覧を取得する場合は、紐付けられていないフィールドを出す必要は無いと思いますが、もし「あのフィールドが表示されない」というケースがあった場合は、リクエストタイプに適切に紐付けられているかどうかを事前に確認してみましょう。
関連コンテンツ