ソリューション連携 第5回 - ServiceNow -
こんにちは! RAMです。
今回は、ServiceNowとの連携についてご紹介致します。
長文となってしまいましたが、ぜひ最後までご一読頂ければ幸いです。
それでは、宜しくお願い致します。
皆さんもご存じの通り、ServiceNow はクラウド型のITSMプラットフォームで、企業向けにITサービス管理やワークフロー管理を提供し、企業全体で業務プロセスの効率化を図るためのツールとなっています。
これまでBlue PrismでもServiceNowの自動化実績が多くあります。
主な自動化の方法としては、Webブラウザ上でUI操作を利用して自動化しているケースや、APIを利用した自動化の方法があります。
今回は、その中で最も1. 処理速度が速く、2. 安定性があり、3. メンテナンス性が高い(UI変更による影響を受けない)、APIを利用した自動化方法をご紹介致します。
※ServiceNow では、REST API がサポートされており、こちらからAPIの詳細仕様を確認することが可能です。
DX(Digital Exchange)アセット
Digital Exchange(以降、DX)で「ServiceNow」を検索すると、以下の通りいくつかのアセット(Rest API利用型)が見つかります。
これらは以前からあるアセットですが、説明文やユーザガイドが英語となっていて、内容も不十分でした。またサンプルプロセス等もなく、アセットとして使用するには使いづらい状態となっていました。
そこでこの度、これらのアセットをすべて点検し、整理・統合致しました。
こちらが今回新たに作成したアセットになります。
上記アセットには日本語のユーザガイドやサンプルプロセスも付属しており、ダウンロード後、比較的簡単に利用を開始することが可能です。
以降、本アセットの内容、使い方、サンプルプロセスについて説明をいたしますので、是非参考にして頂ければと思います。
対応している機能
Blue Prism Connectors for ServiceNow は、以下のServiceNow の機能をサポートしています。
Change Management(変更管理):
Change Management API を用いて変更要求の作成、取得、更新、削除などを行うことができます。Customer Service Management(CSM):
Account API、Case API、Consumer API、Contact API を用いて、アカウント、ケース、顧客、連絡先の作成、取得、更新を行うことができます。Incident Management(インシデント管理):
Table API を用いてインシデントレコードの作成、取得、更新、および削除を行うことができます。Service Catalog(サービスカタログ):
Service Catalog API を用いてService Catalog の各種設定とアクションを行うことができます。
サンプルプロセスでは、ユースケースとしてももっとも使われている、「Incident Management」を利用しています。
事前準備
サンプルプロセスを実行するために必要な事前準備について以下ご紹介致します。
お使いのServiceNow環境、または、Developer サイトを準備します。
※ServiceNowの検証環境 (Developer サイト) はこちらから作成可能です。APIを利用するためにServiceNow環境の認証情報が必要となります。
認証情報を取得するために、自動化対象のServiceNow環境(インスタンス)にログインし、画面右上のプロフィールアイコンからインスタンス管理画面を開きます。
3. インスタンス管理画面にて、「Manage Instance password」
メニューをクリックし、APIの認証に必要な以下の情報を取得します。
①Instance URL
②Username
③Password
認証設定
APIを利用するための認証方法としては、主に2種類(基本認証、OAuth2.0 認証)ありますが、今回は「基本認証」で認証を行います。
基本認証の場合、DXアセットのインストール時に同梱されている「認証: ServiceNow Credential」に必要なアクセス情報を記入し、接続する流れになります。
設定方法としては、Blue Prism のメニューから「システム」>「セキュリティ」>「認証」を選び、「ServiceNow Credential」を選択します。
準備した②Username と③Password をそれぞれ設定し、保存します。
サンプルプロセスのシナリオ
それでは、アセットと一緒に提供されているサンプルプロセスを実行してみたいと思います。
サンプルプロセスのシナリオは以下のようなシナリオとなっています。
※注意:メールの受け取りや送信処理で、MS Outlook VBOを利用しているため、事前にDXからダウンロード&インポートする必要があります。
Outlookの受信トレイから、データアイテム:メール件名で設定した件名の条件にヒットするメールを検索します。
①でヒットしたメールの本文をService NowのIncidentとして起票します。
メールの依頼内容に合わせて処理を行います。
※サンプルプロセスでは、この部分は空白になっていますので、皆様のユースケースに合わせて処理を追加ください。③の処理が実施されたら、ユーザーへ処理完了の通知メールを送ります。
②で起票したチケットのステータスを「クローズ」にステータス更新します。
サンプルプロセスを実行
Outlookの受診トレイにメールボックスを作成し、インシデントのメールを送信します。(※メールは未読状態である必要あり)
サンプルプロセスを開き、ServiceNowのInstance情報、メールボックス名、メールの件名の条件(”Incident *”)を入力します。
設定完了後、プロセスを実行します。
サンプルプロセスでは、以下の流れで処理が実施されます。
①メールボックスから件名の条件にヒットするアイテムを検索
②ヒットしたメールの内容を取得&既読に変更
③ServiceNowのIncidentを作成
④処理完了の通知メールを送信
⑤ServiceNow チケットのステータスを「完了」に更新
ユーザーへの通知メールは以下の通りになります。
※デフォルトは、パスワードリセット処理をイメージした内容となっていますが、ユースケースに合わせて件名、本文を変更します。
ServiceNow上でIncidentが登録され、以下の通りステータスが「完了」に更新されていることが確認できます。
まとめ
いかがだったでしょうか?
今回は、ServiceNowのDXアセットを紹介いたしました。
ServiceNowを既にご利用中、もしくは今後ご利用予定の場合、ご紹介したアセットやサンプルプロセスを参考に、是非APIを用いた自動化をご検討ください。
今後も様々なソリューション連携部品のアップデートを予定しておりますので、是非ご期待頂けたらと思います。
長文となりましたが、最後までお読み頂きありがとうございました。
以上となります。
RAM