はじめに
webMethods IntegrationにてServiceNowと連携したワークフローを実装の手順を紹介します。
webMethods Integrationでは多くの外部サービス連携が可能ですが、今回実装するのはServiceNowとの連携です。
ServiceNow連携にて実装可能なトリガーおよびアクションの一覧はこちらを参照してください。
当方が実装しようとしたところ、ServiceNowの操作に手間取ったところがあったため、実装の際に必要な最低限のServiceNowの設定も合わせて説明します。
チームにメンバーが追加された際、自動でメンバー追加対応時のタスクが振られるようなユースケースを想定してハンズオンのような形で手順を記載していますので、ぜひお手軽に試してみてください。
概要
- 対象者:webMethods Integrationにてワークフローを実装している開発者(基本的な操作は割愛しています)
- 実装前提:webMethods Hybrid Integrationなど、webMethods Integrationを利用できる環境を所持していること
- 実装内容概要:
- ServiceNowにてアカウントを作成(無料)し、サンプルのテーブルを構築
- webMethods IntegrationにてServiceNow内のテーブル更新をトリガーとしてタスクテーブルにアイテム追加が実行されるワークフローを構築
- テーブルを更新し、動作を確認
実装
ServiceNow
アカウント作成
※ 本手順はServiceNowアカウントを所有していない場合のみ実施してください。すでにアカウントを所持している場合はそちらを利用することも可能ですが、adminロールを所有していることが前提となります。
① 以下のURLにアクセスし、serivenowアカウントを作成します。
https://account.servicenow.com/sign-up
② アカウント作成後、自身のアカウント情報管理画面右上のメニューアイコンをクリックし、「Developer」を選択します。

もしくは以下のURLへアクセスします。
https://developer.servicenow.com/dev.do
インスタンスを作成
③ 開発者用管理画面へ遷移後、画面右上の「Request instance」をクリックします。

インスタンスを作成する地域を選択します。任意の地域を選択してください。

地域を選択すると、インスタンスが作成されます。

④ インスタンスのリリース完了後、developerページのインスタンス管理画面に自動遷移します。
表示されたインスタンス情報の中から、User roleがadminとなっていることを確認します。
もしAdminでない場合、画面右上の「Actions」から「Change user role」選択の上、roleを「Admin」に変更してください。


また、こちらの画面で表示されたInstance URL、User Name、Current Passwordは後ほどワークフローから接続をする際に利用するので、こちらのページは閉じずに残しておくか、接続情報を書き留めておくようにしてください。
検証用のテーブルを作成
⑤ roleがAdminになっていることを確認したら、作成したインスタンスへアクセスします。
インスタンス管理画面から「instance URL」に表示されているURLをクリックし、インスタンス画面へ遷移します。

MFA設定が求められた場合は任意の手段にてMFAを設定して下さい。
⑥ テーブル管理画面を表示します。
ヘッダーの左上にある「All」をクリックし、検索フォームに「system definition」を入力し検索をかけます。
検索結果の中から、System Definition配下の「Tables」を選択し、Teble一覧画面を表示します。

⑦ 連携用のテーブルを新規作成します。
テーブル一覧画面右上の「New」をクリックします。

新規作成するテーブルの情報を入力します。
Labelに「sample_trigger_table」と入力します。
画面下にあるテーブルのカラム設定テーブルにて、以下の内容を入力します。
| Column label | Type |
|---|---|
| id | String |
| name | String |
入力が完了したら「Submit」ボタンをクリックします。
テーブル一覧画面に遷移するので、Labelの検索フォームに「sample_trigger_table」を入力し、テーブルが問題なく作成されているか確認してください。
後ほどこの画面から操作を開始するので、画面を閉じずに残しておいてください。
webMethods Integration
検証用のワークフローを作成
① 任意のプロジェクトにてワークフローを新規作成します。
新規作成方法がわからない方は、こちらのドキュメントを参照してください。
② 新規作成したワークフローの開始ノードをダブルクリックします。
トリガー一覧画面右上の検索フォームにて「ServiceNow」と入力し、検索結果からServiceNowを選択の上、「Next」ボタンをクリックします。

③ ServiceNowの連携設定を行います。
設定の変更が必須な項目は以下の3つです。
- Connect to ServiceNow: 同じプロジェクト内でServiceNowのトリガーを設定していた場合、その接続情報をプルダウンから選択することが可能。もし新規で作成する場合は+ボタンを押下の上、下記の【トリガーでのServiceNow接続手順】を参照の上設定
- Table Name: トリガーとなるテーブル名を記載。今回は「sample_trigger_table」と入力
- Polling interval: トリガーを検知するインターバル期間を設定。今回は検証のため「5 mins」を選択
ServiceNow接続も完了したら、「Save」ボタンを押下します。

【トリガーでのServiceNow接続手順】
Connect to ServiceNowの+ボタンを押下するとServiceNowの接続情報入力モーダルが表示されます。
接続に入力が必要な項目は以下のとおりで、ServiceNow Instance管理画面で表示された情報をもとに入力をしていきます。
- Subdomain: Instance URL内のSubdomain部分のみ抜き出して記載します。Instance URLが「https://dev12345.servicenow.com/」だった場合、dev12345が該当箇所になります。
- Username: 「admin」を入力します。
- Password: 管理画面にてCurrent Passwordとして記載されている内容を入力します。
トリガーの実行確認
④ 続いて、トリガーの実行をテストする画面が表示されます。
トリガーの実行を確認するには、検証用に作成したテーブルへレコードを追加してトリガーが実行されるかを確認する必要があります。
ServiceNow実装手順⑦では最後にテーブル一覧画面にてテーブル名で検索をかけたと思いますが、その画面を開きます。
sample_trigger_tableを右クリックし、メニューから「Show List」を選択します。

⑤ テーブルのアイテム一覧画面が表示されます。まだ何もレコードがない状態なので、画面右上から「New」ボタンをクリックしてアイテムを追加していきます。

nameとidのフォームに任意の文字列を入力し、「Submit」を押します。

ワークフロー作成画面へ戻り、テスト成功画面が表示されるか確認をします。
成功画面が表示されない場合、5分ほど待ってみるか、何度かレコードを追加してみてください。
以下のような画面が表示されれば成功です。Doneボタンを押してトリガー設定を完了します。

レコード追加フローの実装
⑥ 続いてトリガー後実行されるタスクテーブルへのレコード追加フローを実装します。
ワークフロー作成画面の右画面の検索フォームにて「ServiceNow」を入力し、表示されたコネクターをドラッグアンドドロップします。

⑦ 追加したコネクターをダブルクリックし、設定画面を表示します。
設定が必要な項目は以下の2つです。
- Select action: プルダウンからcreateTasksを選択します。
- Connect to ServiceNow Enterprise Service Management: 同じプロジェクト内でServeceNowとのコネクターを作成していた場合流用が可能です。新規作成する場合、+ボタンを押下し下記の【コネクターでのServiceNow接続手順】を参照し設定を行なってください。
【コネクターでのServiceNow接続手順】
いくつかの設定項目が表示されますが、設定が必須なのは以下の3つです。
ServiceNow Instance管理画面で表示された情報をもとに入力をしていきます。
- Server URL: Instance URLを入力します。
- Username: 「admin」を入力します。
- Password: 管理画面にてCurrent Passwordとして記載されている内容を入力します。
⑧ アクションの詳細設定を行います。今回はタスクを追加するアクションを実装するため、タスクテーブルにどのような内容を入力しレコード追加をするかを設定していきます。
webMethods側で入力内容を自動でサジェストしてくれるので、それに従って入力項目を埋めていきます。
画面の左側から右側に伸びている点線がサジェスト内容です。画面の中心あたりで点線をクリックすると、自動で入力されていきます。すべての点線が実線になるまでクリックをし、完了したら「Next」を押下します。

アクション実行確認
⑨ アクションの実行確認をします。
画面右下の「Test」ボタンを押下します。

ボタン押下後、「Message posted successfully」と表示されれば成功です。
画面右下の「Test」ボタンを押下し、設定を完了します。

⑩ ワークフロー作成画面にて、ServiceNowコネクターから終了ノードまで矢印を繋げます。
完了したら、「Save」ボタンを押下します。

動作確認
実装が完了したので、実際にワークフローを動かしてみます。
トリガーをテストした際と同じ手順で、sample_trigger_tableにレコードを追加します。
5分ほど待ち、ワークフロー作成画面をリロードします。
リロード後、画面左下のアイコンをクリックし、ログ一覧を表示します。

おわりに
記事を書いてみたところServiceNowの内容がほとんどになってしまいましたが、webMethods Integrationでのワークフロー実装の際のTipsとして参考になれば幸いです。
参考文献
webMethods Hybrid Integrationドキュメント:https://www.ibm.com/docs/ja/wm-integration-ipaas






