JavaScriptソフトウェア開発キット

JS APIとは、ServiceDesk Plus Cloudの様々な機能を、作成するカスタムウィジェットに組み込むためのJS関数です。

アプリケーションから JavaScript API にアクセスするには、次のJavaScriptファイルをすべての HTML/ウィジェットページに追加します。https://sdpondemand.manageengine.com/scripts/v1/widget/sdpclientsdk.min.js

JSファイルは、APIを呼び出すすべてのウィジェットページにロードする必要があります。次の構文を使用して、JavaScriptファイルをウィジェットページに追加します。

構文

<script type="text/javascript" src="https://help.assetexplorercloud.com/portal/en/kb/articles/https://sdpondemand.manageengine.com/scripts/v1/widget/sdpclientsdk.min.js"></script>

JavaScript API  

カスタムウィジェットを開発する際には、JS API 関数を使用して、自分のウィジェットやサードパーティ・アプリケーションへの呼び出しを行うことができます。このページでは、カスタムウィジェットとそのユースケースを構築するために使用できるさまざまな機能について説明します。

JS APIはカスタムウィジェットから呼び出す必要があります。

カスタムウィジェットの一般的な機能

SDP.init() 

JS SDKを初期化し、製品とカスタムウィジェット間の接続を確立することでユーティリティ関数を定義します。この関数は、カスタムウィジェットと他のJS APIの間の接続を確立して、それらをユーザーに表示するための基盤として機能します。他のJS APIは、初期化が完了したときにのみ定義されます。

戻り値

Promise - API成功で解決、API失敗で拒否

構文

  1. SDP.init().then(function(response) {
  2. console.log(response);
  3. }).catch(function(response) {
  4. console.log(response);
  5. });

サンプル

API呼び出し 成功応答

SDP.init().then(function(response) { console.log(response); }).catch(function(response) { console.log(response); });

{ "meta": { "module": "header", "instance": { "appid": "709641411", "appname": "widgetdev", "appdisplayname": "Widget Development" }, "personalization": { "time_zone": "Asia/Kolkata", "time_format": "MMM d, yyyy hh:mm a", "date_format": "MMM d, yyyy" }, "userLanguage": "en", "userLocale": "en_US", "userType": "Technician", "userId": "120747000000232217", "userName": "Widget Development", "userEmail": " widget_dev@sdpdev.onmicrosoft.com ", "isSDAdmin": true, "widget": { "id": "120747000002587069", "name": Custom Widget ", "description": "", "custom_widget": { "id": "120747000002587067" } } }, "uniqueID": "78d261d9-65f7-48bc-b10d-84b7e79b1285", "location": "webtab" }

SDP.invokeUrl (オプション)

統合されたサードパーティアプリケーションからデータを取得します。関数は、URL、メソッド、ヘッダー、パラメーター、ペイロード、ファイルID(プローブベースの統合ではサポートされていない)、接続経路(プローブまたは接続リンク)などのさまざまなオプションパラメーターの下にマップされます。サードパーティのURLを直接呼び出すことも、接続/プローブを使用して呼び出すこともできます。デフォルトでは、接続またはプローブが設定されていない場合、サードパーティのURLが直接呼び出されます。

パラメーター

名前 タイプ 説明

オプション*

オブジェクト

APIの詳細を含むオブジェクト。 プロパティ タイプ 説明 URL* 文字列 API URLを示します。スペースが含まれている場合は、URLをエンコードします。 メソッド 文字列 API呼び出しのメソッドを示します。デフォルトでは、「ポスト」メソッドが渡されます。 サポートされているメソッド:get、post、put、delete、patch。 パラメーター オブジェクト APIのパラメーターをキー値形式で示します。 ヘッダー オブジェクト APIのパラメーターをキー値形式で示します。 ペイロード 文字列 リクエストボディに渡される文字列。 is_probe_connection 条件検索 Trueに設定すると、接続はプローブを介して確立されます。イントラネットサイトに接続するため、またはクラウドとオンプレミスアプリケーション間の接続を確立するために使用されます。 connectionLinkName 文字列 DRE接続リンク名を指定します。ここでは、カスタムウィジェットパッケージにインストールされている接続のみを使用できます。これは、「is_probe_connection」プロパティがtrueでない場合にのみ考慮されます。 file_id long ServiceDesk Plus CloudファイルIDを示します。このオプションは、添付ファイルをサードパーティアプリケーションにアップロードする必要がある場合に使用されます。このプロパティは、「connectionLinkName」が指定されている場合にのみサポートされます。

*必須パラメーター

サードパーティアプリケーションを呼び出すようにプローブ接続とDRE接続の両方を構成することはできません。

戻り値

Promise - APIが成功した場合は解決され、APIが失敗した場合は拒否されます。

構文 

  1. SDP.invokeUrl(options).then(function(response) {
  2. console.log(response);
  3. }).catch(function(response) {
  4. console.log(response);
  5. });

サンプル

API呼び出し 成功応答 失敗応答

SDP.invokeUrl({ “url”: “https: //api.twitter.com/1.1/statuses/update.json”, “method”: “post”, “params”: { “status”: "SDP and twitter integrated" }, “connectionLinkName”: “twitter” }).then(function(response) { console.log(response); }).catch(function(response) { console.log(response); });

//Based on 3rd party API

//Based on 3rd party API

カスタムウィジェットiFrameの管理

SDP.openWidget(options) 

カスタムウィジェット内のポップアップとして新しいウィジェットを開きます。

パラメーター

名前 タイプ 説明

オプション*

オブジェクト

APIの詳細を含むオブジェクト。 プロパティ タイプ 説明 ID* long 開くウィジェットのIDを示します。 名前* 文字列 開くウィジェットの名前を示します。 件名 文字列 ポップアップのタイトルを設定します。タイトルが渡されない場合、ウィジェット名がポップアップタイトルとして設定されます。 データ オブジェクト 開いているウィジェットに渡されるデータを指定します。

*必須パラメーター

ウィジェットを開くためのオプションとして、IDまたは名前パラメーターのいずれかを指定できます。両方を指定した場合、IDのみが考慮されます。

戻り値

Promise - 成功すれば解決、失敗すれば拒否。

構文

  1. SDP.openWidget(options).then(function(response) {
  2. console.log(response);
  3. }).catch(function(response) {
  4. console.log(response);
  5. });

サンプル

API呼び出し 成功応答 失敗応答

SDP.openWidget({ id: "100000000000032273", data: { mode: "new_user" } }).then(function(response) { console.log(response); }).catch(function(response) { console.log(response); });

{ message: “ウィジェットが正常に開かれました” }

{ "message": "レンダリングするには、必要な表示権限を持つ有効なウィジェットIDまたは名前を指定します" }

 

SDP.closeWidget() 

カスタムウィジェットがロードされているポップアップを閉じます。このAPIは、メニューウィジェットやSDP.openWidget APIを使用して開かれたウィジェットなど、ポップアップウィンドウでウィジェットが開かれた場合にのみ機能します。

戻り値

Promise - 成功すれば解決、失敗すれば拒否。

構文

  1. SDP.closeWidget().catch(function(response) {
  2. console.log(response);
  3. });

SDP.closeWidget()呼び出しが正常に実行されると、ウィンドウ内のウィジェットポップアップが閉じます。したがって、このAPIには成功コールバックは必要ありません。

サンプル

API呼び出し 失敗応答

SDP.closeWidget().catch(function(response) { console.log(response); });

{ message: “このビューでは、リクエストされたアクションはサポートされていません。” }

SDP.resizeWidget(options)

必要に応じて、カスタムウィジェットポップアップのサイズを変更します。許可されるウィジェットの最大サイズは1200 X 800ピクセルです。

このAPIは、メニューウィジェットやSDP.openWidget APIを使用して開かれたウィジェットなど、ポップアップウィンドウでウィジェットが開かれた場合にのみ機能します。

パラメーター

名前 タイプ 説明

オプション*

オブジェクト

APIの詳細を含むオブジェクト。 プロパティ タイプ 説明 幅* 整数 必要なウィジェットのポップアップ幅をピクセル単位で指定します。ポップアップの最大幅は1200ピクセルです。 高さ* 整数 必要なウィジェットのポップアップの高さをピクセル単位で指定します。ポップアップの最大高さは800ピクセルです。

*必須パラメーター

ウィジェットを開くためのオプションとして、IDまたは名前パラメーターのいずれかを指定できます。両方を指定した場合、IDのみが考慮されます。

戻り値

Promise - 成功すれば解決、失敗すれば拒否。

構文

  1. SDP.resizeWidget(options).then(function(response) {
  2. console.log(response);
  3. }).catch(function(response) {
  4. console.log(response);
  5. });

サンプル

API呼び出し 成功応答 失敗応答

SDP.resizeWidget({ width: 1000, height: 500 }).then(function(response) { console.log(response); }).catch(function(response) { console.log(response); });

{ "message": "ウィンドウのサイズ変更が正常に完了しました" }

{ "message": "幅は有効な数値ではありません" }