同じインシデントが2件以上起票された場合、2件目以降を自動クローズしたい

d-aizawa
Kilo Sage

コミュニティの皆様
いつもお世話になっております。

私が所属しているプロジェクトでは、
Webシステムとの連携で、同じインシデント(※)が2件以上、自動起票された場合、
2件目以降のインシデントを即時自動クローズしたいという要望があります。
※Short description, Descriptionが同じ内容かどうかで判別

 

方法としては、Scheduled Jobで上記に該当するインシデントをクエリし、
即時自動クローズしようと考えておりますが、

Short DescriptionやDescriptionの内容がまったく同じインシデントを抽出することは、

可能でしょうか。

→できそうであれば、サンプルコードもご提示して頂けると助かります。

1 ACCEPTED SOLUTION

メールの送信方法はエベント使っていますか。そうでしたらそのエベントはcloseするの更新前に付ければ送信されると思います。Scheduled Jonにしたいでしたら無料ではないです。可能です。

似てるぽい問題英語版ですが:Glide query - looking for duplicate value in 2 col... - ServiceNow Community

View solution in original post

4 REPLIES 4

Richard Tamparo
Mega Guru

可能です。そしてscheduled jobじゃなくて、Business Rule の方がいいかな。

Insertの選択肢をチェックする。

 

var inc = new GlideRecord('incident');

同じ値けど
inc.addQuery('short_description',current.short_description);

別のsysIDの場合

inc.addQuery('sys_id','!=',current.sys_id);
inc.query();

if (inc.next())
{
inc.status = "Close";

inc.update();

}

ご回答ありがとうございます。
上記方法だとState is Newの時に送信されるメールが送信されないので、
できればScheduled Jobで毎晩23時に実行して、まとめてクローズみたいな形をしたいのですが、
この方法だと難しいでしょうか。

メールの送信方法はエベント使っていますか。そうでしたらそのエベントはcloseするの更新前に付ければ送信されると思います。Scheduled Jonにしたいでしたら無料ではないです。可能です。

似てるぽい問題英語版ですが:Glide query - looking for duplicate value in 2 col... - ServiceNow Community

t_sadahisa
Giga Guru

こんにちは。

 

ScheduledJobで精査しても良いですが、

もう少し短時間でクローズしたい場合はEventを使われるといいかなと思います。

(適当に書いたコードなので必要に応じて作り込んで下さい)

 

1. BusinessRuleでEventをキューに入れる

t_sadahisa_0-1674477743943.png

 

 

2.ScriptActionで更新する

t_sadahisa_1-1674477792232.png

 

 

ご参考:実際に動かした画像

・時間差でクローズされています。

 

t_sadahisa_3-1674477845533.png

・作成とクローズでメールも出ています

t_sadahisa_4-1674477865411.png