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 コンポーネントを追加し、XML から 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 インスタンスの 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"
}
}
}