自分用メモ、理解足りなすぎるので随時修正予定
イベントとは
ServiceNow上で何か起きたよ!ということをお知らせしてくれる。
例えば、特定の条件に合致するレコードができたよ!とか。
ログイン失敗もログイン失敗するごとにlogin.failedのイベントが生み出されている。
イベントが発生したことをきっかけとしてメール通知を作成したりなんかもできてしまう。
ざっくり流れ↓
① イベントレジストリに任意のイベントを登録(既存のものを使う場合は新規作成不要)
② スクリプト内でイベントを生み出してあげる(発生させる)
③ 生み出されたイベントを受け取る処理を作る。(例えばNotificationの設定)
④ イベントが生み出されるごとにメール通知なりをServiceNowから出せる!
① ②だけ書く。
① イベントレジストリに任意のイベントを登録
1.ServiceManagementのフィルターナビゲーターにて「sysevent_register_list.do」と入力してEnterクリック
(開きたいテーブル名+_list.doでEnter押すと一発で開きたいリストが開けちゃう、開きたいテーブル名+.listでもOK)
2.「イベント登録」リストが表示されたら「新規」を押す
アプリケーションピッカーでイベントを発生させたいアプリケーションを選択してから「イベント登録」リストの「新規」ボタンからレコードを登録
イベント名:スペースや特殊文字は使わないこと。わかりやすいのにする。
イベント名のみ必須なのでイベント名だけ入力でもOKだけど、説明くらいは書いたほうが自分のためになります。(トラブルシューティング的な意味で)(戒め)
日本語化プラグインをいれた状態の画像で、「解雇者」ってなんだよという感じがするけど、英語だと「Fired by」となっていて、「こういうスクリプト実行時~」とか「俺!俺!」みたいなことを書けばいいと思います別にイベント処理に影響ないので。
キューのところにはこのイベントを管理するイベント処理キューを入力するらしいけど、空白のままでもOK、そしたらデフォルトのキューが何とかしてくれる。
② スクリプト内でイベントを生み出してあげる
スクリプトのざっくりした書き方は前回記事参照
もりもり書いたスクリプト内に下記スクリプトを足してあげる
gs.eventQueue(‘<イベント名>’,current,parm1,parm2);
parm?油?と思っていましたがパラメーターのことでした(パーム油はpalm)
イベント発生させるきっかけとなったユーザーとユーザーIDをイベント発生時に取得したいときは、
gs.eventQueue(‘<イベント名>’,current, gs.getUserName(),gs.getUserID());