Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerServiceNow 用 Anypoint Connector (ServiceNow Connector) を最大限活用するには、次の例を参照してください。
この例では、Incident
テーブルからレコードを取得する Mule フローを作成します。次のスクリーンショットは、この例の Studio アプリケーションフローを示しています。
Studio で Mule プロジェクトを作成します。
次のパスを使用して、フローの HTTP リスナートリガーを追加して設定します。
getrecords
HTTP Connector の後に Transform Message コンポーネントを追加して、次のような変換スクリプトを提供します。
%dw 2.0 output application/xml ns ns0 http://www.service-now.com/incident --- { ns0#getRecords: { ns0#description: 'Test WSDL QA' } }
ServiceNow インシデントテーブルのレコードに一致する記述を追加します。 |
Transform コンポーネントの後に ServiceNow からの Invoke 操作を追加します。
ServiceNow サーバーに接続するための ServiceNow 設定をセットアップし、テストして、保存します。接続に失敗した場合は、無効な接続パラメーターを確認して修正し、もう一度テストを実行してください。
ナビゲーションの [General (一般)] タブで [Service (サービス)] を incident
に設定し、[Operation (操作)] を getRecords
に設定します。
必要に応じて、値 (ALL
、TRUE
、FALSE
) から [Show Reference Values (参照値を表示)] を選択します。
Studio 7.5.0 以降では、Show Reference Values キーを指定せずに service および operation キーを選択してメタデータを解決できます。ただし、以前の Studio バージョンでは、すべてのメタデータキーを指定するまではメタデータは読み込まれず、すべてのメタデータキーを指定しないとツール例外が発生します。
|
[Message Body (メッセージ本文)] を payload
に設定します。
Transform Message コンポーネントを追加し、transform XML to JSON
を行って、読みやすさを向上します。次に例を示します。
%dw 2.0 output application/json --- payload
フローの最後に payload
(または #[payload]
) をメッセージとして使用する Logger コンポーネントを追加します。
アプリケーションをデプロイまたは実行します。
http://localhost:8081/getrecords
に移動してアプリケーションをテストします。
応答は次の例のようになります (簡潔にするため、いくつかの項目が省略されています)。
{
"headers": {
},
"attachments": {
},
"body": {
"getRecordsResponse": {
"getRecordsResult": {
"active": "1",
"activity_due": "2019-09-24 09:48:15",
"approval": "not requested",
"business_stc": "0",
"calendar_stc": "0",
"category": "Software",
"child_incidents": "0",
"description": "Test WSDL QA",
"escalation": "0",
"hold_reason": "0",
"impact": "1",
"incident_state": "1",
"knowledge": "0",
"made_sla": "1",
"notify": "1",
"number": "INC0011616",
"opened_at": "2019-09-20 07:30:34",
"opened_by": "6816f79cc0a8016401c5a33be04be441",
"order": "0",
"priority": "1",
"reassignment_count": "0",
"reopen_count": "0",
"severity": "3",
"state": "1",
"sys_class_name": "incident",
"sys_created_by": "admin",
"sys_created_on": "2019-09-20 07:30:34",
"sys_domain": "global",
"sys_domain_path": "/",
"sys_id": "c03deab4db840010a0e6e04a48961999",
"sys_mod_count": "47",
"sys_updated_by": "system",
"sys_updated_on": "2019-09-24 07:48:15",
"upon_approval": "proceed",
"upon_reject": "cancel",
"urgency": "1",
}
}
}
}
Show Reference Values
で ALL
を使用した場合の応答は省略された出力と同じようになり、表示値項目の応答要素名の先頭には dv
が付けられます。
{ "headers": { }, "attachments": { }, "body": { "getRecordsResponse": { "getRecordsResult": { "active": "1", "dv_active": "true", "activity_due": "2020-05-07 13:14:19", "dv_activity_due": "2020-05-07 06:14:19", "additional_assignee_list": null, "dv_additional_assignee_list": null, "approval": "not requested", "dv_approval": "Not Yet Requested", } } } }
表示値項目の応答要素名の先頭には dv
が付けられます。
詳細は、 「ServiceNow - 表示値」を参照してください。
この例では、ServiceNow インスタンスの Incident テーブルからキーを取得する Mule フローを作成します。
Studio で Mule アプリケーションをプロジェクトとして作成します。
フローの HTTP の Listener トリガーを追加して設定し、[Path (パス)] を /getkeys
に設定します。
HTTP の Listener 操作の後に Transform Message コンポーネントを追加します。
次のような変換スクリプトを提供します (ServiceNow インシデントテーブルのレコードに一致する記述を使用します)。
%dw 2.0 output application/xml ns ns0 http://www.service-now.com/incident --- { ns0#getKeys: { ns0#description: 'Test WSDL QA' } }
Transform Message コンポーネントの後に ServiceNow の Invoke 操作を追加します。
ServiceNow サーバーに接続するための ServiceNow 設定をセットアップし、テストして、保存します。接続に失敗した場合は、無効な接続パラメーターを確認して修正し、もう一度テストを実行してください。
[General (一般)] タブのナビゲーションで [Service (サービス)] を incident
に設定し、[Operation (操作)] を getKeys
に設定します。
[Message Body (メッセージ本文)] を payload
に設定します。
Transform Message コンポーネントを追加し、XML から JSON への変換を行って、読みやすさを向上します。次に例を示します。
%dw 2.0 output application/json --- payload
フローの最後に payload
(または #[payload]
) をメッセージとして使用する Logger コンポーネントを追加します。
アプリケーションをデプロイまたは実行します。
アプリケーションをテストするため、http://localhost:8081/getkeys
に移動します。
応答は次のようになります。
{ "headers": { }, "attachments": { }, "body": { "getKeysResponse": { "sys_id": "c03deab4db840010a0e6e04a48961999,0f517ab8db840010a0e6e04a489619bc,6f1236f8db840010a0e6e04a489619f5", "count": "3" } } }