開発者向けのOData
ALM Octaneは、データにアクセスするためのOASIS RESTベースの標準であるOData (オープンデータプロトコル) をサポートしています。ODataを使用すると、ALM Octaneのダッシュボードウィジェットで提供される機能に加え、レポート機能を拡張できます。このトピックでは、ODataとALM Octaneを使用する手順について説明します。
概要
この概要では、OData標準を使用して開発者がALM Octaneにアクセスするためのユースケースについて説明します。
ALM Octaneは、ODataバージョン4.0をサポートしています。
ODataバージョン4.0をサポートするには、Microsoft Power Query for Excelアドインをダウンロードしてインストールします。
注意: TableauによるODataのサポートは制限されています。たとえば、TableauのODataサポートには現在、$expandインタラクティブクエリ引数が含まれていません。これはALM Octaneがクロスエンティティレポートに広く使用しています。別のレポートツールまたはビジネスインテリジェンスツールの使用を検討してください。
開発者は、次の方法でODataを介してALM Octaneデータを取得できます。
直接、APIクライアントでクエリを実行する |
|
ODataを介してALM Octaneと統合するアプリケーションを設計する |
|
前提条件
-
サイト管理者またはスペース管理者に、SUPPORTS_BASIC_AUTHENTICATION構成パラメーターを使用して各スペースの基本認証をアクティブ化するように要求します。
-
ALM OctaneがSSO認証用に設定されている場合は、OData統合を操作するためのAPIキーを作成します。
ALM OctaneサーバーベースURI
ODataを使用してALM OctaneデータにアクセスするためのALM OctaneサーバーのベースURIは、次のとおりです。
<https://<server> /odata/v4/shared_spaces/<space_ID>/workspaces/<workspace_ID>/
トラブルシューティング: ALM OctaneがODataコンシューマーの要求に正常に応答しない場合、これはALM Octaneを参照するのに使用されているベースURLが正しいURLと異なっているためであることが考えられます。REST APIを使用した構成パラメーターの設定または構成パラメーターの説明に従って、ODATA_USE_SERVER_BASE_URLとSERVER_BASE_URLを変更することを検討してください。
RESTクライアントでODataを使用してALM Octaneのデータにアクセスする
このセクションでは、RESTクライアントでODataを使用してALM Octaneデータにアクセスする方法について説明します。
ODataを使用するには、基本認証の前提条件を確認してから、基本認証で認証します。
注意: 基本認証をアクティブにすると、外部システムは、ODataだけではなく、基本認証を使用してALM Octaneにアクセスできます。
認証には、次のいずれかを使用できます。
-
ユーザー名とパスワード。
-
APIアクセスキー。
詳細については、基本認証を参照してください。
ヒント: 基本認証を使用する場合、ALM Octaneは認証に成功するたびに、LWSSO_COOKIE_KEY Cookieをレスポンスに含めます。パフォーマンスを向上させるため、後続のOData要求ごとに LWSSO_COOKIE_KEY Cookieを送信することをお勧めします。詳細については、LWSSO_COOKIE_KEYに関する情報を認証トピックで参照してください。
ODataを使用してALM Octaneデータを取得できますが、ALM Octaneデータを更新 (POST、PUT、DELETE) することはできません。GET操作のみがサポートされています。
標準設定では、最大1000個の項目が返されます。
例: すべての不具合を確認するには: GET <base_URI>/defects
洗練された結果を得るためのODataオプションと演算子の使用
このバージョンのALM Octaneは現在、次のURI規則をサポートしています。
オプション |
$select, $search, $filter, $orderby, $top, $count, $paging, $skip, $format, $expand, $link & $count および生の値を返します。 |
$filter演算子 |
論理演算子: eq, ne, gt, ge, lt, le, and, or, not, ( )。- 関連付けがあるエンティティの論理演算子を使用したフィルタリングは、常にサポートされているわけではありません。 論理演算子を使用してエンティティをフィルタリングできるかどうかはどうすればわかりますか?
多重度*の関連付けに関係するエンティティをフィルタリングすることはできません。 OData $metadataファイルをチェックして、エンティティの関連付けを探します。 次のODataメタデータの抜粋は、実行とリリースに関連付けがあることを示しています。
|
関数 |
文字列関数: bool substringof, bool endswith, bool startwith |
URIの例
選択したフィールドですべての不具合を返します | /defects?$select=id,name,description |
不具合6001とそのすべてのフィールドを返す | /defects('6001') |
すべての不具合を名前で降順で返します | /defects?$orderby=name desc |
スプリントに割り当てられたすべての不具合を返す | /defects?$filter=sprint ne null |
リンクされた不具合があるすべてのスイート実行を返します | /suite_run?$filter=defect_indirect ne null&$expand=defect_indirect |
2017-08-23以降に作成されたすべての不具合を返します | /defects?$filter=creation_time ge datetimeoffset'2017-08-24T00:00:00Z' |
割り当てられたチームですべての不具合を返します | /defects?$filter=team ne null |
参照情報: