例: ServiceNow インシデントレコードの取得方法

この例では、インシデント番号に基づいてレコードを取得するための Mule フローを作成します。

  1. Mule アプリケーションをプロジェクトとして作成します。

  2. HTTP リスナをフローのトリガとして追加して設定し、パスを次のように設定します。

    /incident/get

    リスナの接続には、デフォルトの設定を使用できます。

  3. フローの HTTP リスナの後に、ServiceNow コネクタからの Invoke 操作を追加します。

  4. ServiceNow サーバに接続するための ServiceNow 設定を次のようにセットアップしてテストします。

    • Configuration Name (設定名): My ServiceNow Config

    • Username (ユーザ名): my_user_name

    • Password (パスワード): my_password

    • Service Address (サービスアドレス): https://my_account.service-now.com

    • ServiceNow Version (ServiceNow バージョン): Istanbul

      接続に失敗した場合テストは、無効な接続パラメータを確認して修正し、接続をもう一度テストしてください。

  5. ServiceNow 設定の [Transport (トランスポート)] タブで、[General (一般)] タブで設定したのと同じユーザ名とパスワードを使用して基本認証 HTTP メッセージディスパッチャプロバイダをセットアップし、テストして、保存します。たとえば、次のようにします。

    • Username (ユーザ名): my_user_name

    • Password (パスワード): my_password

      接続に失敗した場合テストは、無効な接続パラメータを確認して修正し、接続をもう一度テストしてください。

  6. ServiceNow コネクタの [Web Service Configuration (Web サービス設定)] 値を選択します。たとえば、次のようにします。

    • Service (サービス): incident

    • Operation (操作): getRecords

      Service (サービス) 項目と Operation (操作) 項目のメニュー項目として値が表示されるようにしてください。名前は、コネクタがメタデータを読み込むと入力されます。名前を手動で入力しないでください。

  7. コネクタの変換スクリプトを提供します。

    Design Center の Invoke 操作で、Body (本文) の [Map (マップ)] ボタンをクリックし、[Body (本文)] ウィンドウの下にある [Script (スクリプト)] タブをクリックしてから、次のような変換スクリプトを貼り付けます。

    %dw 2.0
    output application/xml
    ns inc http://www.service-now.com/incident
    ---
    {
        inc#getRecords: {
            inc#number: "INC0012345"
        }
    }

    この例では、output データ型を application/xml に変更しています。

  8. フローの最後に`payload` をメッセージとして使用するロガーを追加します。

  9. アプリケーションをデプロイ、同期、または実行します。

  10. アプリケーションをテストするため、ブラウザまたは Postman などのアプリケーションで http://url.for.your.app:8081/incident/get を開きます。

    次のような応答が返されます (簡潔にするため、多くの項目が省略されています)。

    <getRecordsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <getRecordsResult>
        <active>1</active>
        <additional_assignee_list/>
        <approval>not requested</approval>
        <business_stc>0</business_stc>
        <calendar_duration/>
        <calendar_stc>0</calendar_stc>
        <caller_id>6816f79cc0a8016401c5a33be04be441</caller_id>
        <category>inquiry</category>
        <escalation>0</escalation>
        <knowledge>0</knowledge>
        <made_sla>1</made_sla>
        <notify>1</notify>
        <number>INC0021195</number>
        <opened_at>2017-07-27 03:13:54</opened_at>
        <opened_by>6816f79cc0a8016401c5a33be04be441</opened_by>
        <order>0</order>
        <priority>5</priority>
        <short_description>Server outage</short_description>
        <state>1</state>
        <sys_class_name>incident</sys_class_name>
        <sys_created_by>admin</sys_created_by>
        <sys_created_on>2017-07-27 03:14:52</sys_created_on>
        <sys_domain>global</sys_domain>
      </getRecordsResult>
    </getRecordsResponse>

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub