REST Web サービスへのオブジェクトのリンク
[オブジェクト デザイナー] を使用してオブジェクトに [REST Web サービス] 動作を追加することで、Ivanti Automation などの他のアプリケーションと統合するためのさまざまなオプションを提供できます。
これは、REST、JSON、Postman、Swagger といったテクノロジーの使用に慣れているユーザを対象とした、高度な機能です。この機能の使用にあたり Ivanti Professional Services のサポートが必要な場合は、お使いのサプライヤにお問い合わせください。
Service Desk を構成する前に
Service Desk での動作の構成を開始する前に、まず Swagger や Postman などのツールを使用してエンドポイントとの対話を設計および構成して、必要なデバッグ作業の支援とすることをお勧めします。このような方法で対話のテストが完了している場合は、それらの対話を再現するように Service Desk を構成できます。
また、新規コンテンツを本番環境に直接適用するのではなく、新規部分を開発インスタンスで設計し、十分にテストした後、それらの設計を実働に移すことを推奨します。詳細については、「REST 設計を本番環境に昇格させる」をご参照ください。
Service Desk の構成
Service Desk の外部で RESTful API 呼び出しを設計し、テストした後、それらの対話を Service Desk デザイナーで再現します。REST 呼び出しが行われるのは、REST 動作が含まれているオブジェクトのインスタンスが作成されている場合のみです。もう一度オブジェクトを更新して保存しても、別の REST 呼び出しが送信されるわけではありません。
![閉じた](../../../Skins/Default/Stylesheets/Images/transparent.gif)
最初の手順は、エンドポイントとの統合に使用するオブジェクトに対して、REST Web サービス動作を追加することです。
オブジェクトに REST Web サービス動作を追加するには:
- [オブジェクト デザイナー] で、REST Web サービスを使用させるオブジェクトを開きます。
- [属性] ツリーの上部でオブジェクトを選択してから、[プロパティ] グリッドで [動作] の横の
をクリックします。
[動作選択] ダイアログが表示されます。 - [利用可能な項目] リストで [REST Web サービス] を選択し、
をクリックします。
[REST Web サービス]が [選択された項目] リストに移動します。 - [OK] をクリックして変更を保存します。
[動作選択] ダイアログが閉じ、新規項目である [REST Web サービス] が [プロパティ] グリッドに表示されます。
また、オブジェクトに [REST サービス作成要求本文]、[REST サービス作成ステータス]、[REST サービス作成要求 URI]、および [REST サービス作成要求本文テンプレート] という名前の関係 (オブジェクト本文 という名前の新規参照リストオブジェクトに対する関係) という4つの新規属性が作成されます。(ここで Object は、動作の追加先となったオブジェクトの名前です)。 - [プロパティ] グリッドで、[REST Web サービス] の横の
をクリックします。
[REST Web サービス] ダイアログが表示されます。 - [申請] タブの [エンドポイント URI] フィールドに、使用するエンドポイントの URI を入力します。
- 適宜、[POST]、[PATCH]、または [DELETE] を選択します。
一般的に、「投稿」が項目の作成に使用されるのに対し、「パッチ」は既存の項目の更新に使用されます。REST Web サービスを使用して項目を作成し、REST Web サービスを使用して同じ項目を更新する場合、2つのオブジェクトを作成する必要があります (1つは「投稿」を使用して項目を作成するため、もう1つは「パッチ」を使用して項目を更新するため) 。 - [コンテンツ タイプ] ドロップダウンで、送信するコンテンツ タイプを選択します。
- [認証タイプ] リストで、必要な認証のタイプを [なし]、[基本]、[API キー (ヘッダ)]、[OAuth2 (クライアント認証資格情報)]、または [OAuth2 (パスワード)] から選択し、必要に応じて追加のパラメータを設定します。
- [OK] をクリックします。
後で、作成した新規オブジェクト用のウィンドウを作成する必要があります。
[エンドポイント URI] フィールドにはプレースホルダー変数を含めることができます。これは、一般的に、[パッチ] 用として行います。
![閉じた](../../../Skins/Default/Stylesheets/Images/transparent.gif)
REST 動作を一時的にオフに切り替えることが必要になる場合もあります。特定のオブジェクトに対してこれを行うには、[REST Web サービス] ダイアログで [有効にする] チェックボックスをオフにします。
![閉じた](../../../Skins/Default/Stylesheets/Images/transparent.gif)
REST Web サービスを使用して作成したレコードに対してさらに処理を実行する場合は、外部アプリケーションによって返される一意の ID へのパスと、この情報の保存先となる Service Desk 内の場所へのパスを指定する必要があります。
一意の ID を保存するには:
- [動作選択] ダイアログの [応答マッピング] タブにある [ソース] フィールドに、外部アプリケーションによって返される一意の ID のパスを入力します。
ドット表記を使用して、ソース ペイロード内の項目を特定できます。応答全体を使用する場合は * を入力します。 - [ターゲット] フィールドに、 返された値を保存する Service Desk 内の場所の、Service Desk 属性のタイプ文字列を入力します。
これは {_Request/Field} という形式になります。 - [許可] ドロップダウンで、受信することが予期されるコンテンツ タイプを選択します。
XML 形式を選択する場合は、[XML 名前空間] を指定します。複数の名前空間を指定する場合は、名前をスペースで区切ります。例: xmlns:h="http://www.w3.org/TR/html4/" xmlns:r="http://www.example.com/example/" - [OK] をクリックします。
![閉じた](../../../Skins/Default/Stylesheets/Images/transparent.gif)
Service Desk オブジェクトとエンドポイントとの間のリンクが構成されましたので、 送信するペイロードの本体を指定できます。ペイロードは JSON または XML でなければなりません。一部のエンドポイントは複数のさまざまなペイロードを受け入れます。たとえば Ivanti Automation は、ペイロードの本体に必要な runbook が指定された複数の runbook のペイロードを受け入れる単一のエンドポイントを提供します。
REST Web サービスの動作を追加する際に [REST サービス作成要求本文テンプレート] と オブジェクト本文 参照リストオブジェクトとの関係を作成するのは、このためです。これにより、別のペイロードの本体を保存するための参照リスト (詳細については「新しい参照リストの作成」参照) を作成した後、手順の一部として、(たとえば、自動処理に対する値タイプを使用して (詳細については「自動処理の動的値の指定」参照)) 適切な参照リスト インスタンスが選択されるようにするためのメカニズムを用意することができます。自動処理で動的値を指定する際に使用するプレースホルダーと同様のプレースホルダーを ObjectBody に追加することにより、 Service Desk のオブジェクト インスタンスから取得される値をペイロードに含めることができます。プレースホルダー変数を使用する場合は、RESTful オブジェクトのコンテキストに追加します。
REST 動作を使用する各オブジェクトには、適切なペイロード本体が含まれている対応する参照リスト内に、項目が少なくとも1つは設定されている必要があります。
Swagger などのツールを使用してエンドポイントへの呼び出しを行うことで、このペイロードの設計の手助けとなります。
Ivanti Automation を使用した要求実行自動化のための REST Web サービスの使用例については、「Ivanti コミュニティ」をご参照ください。