最近ServiceNowを利用した運用ツール開発に関わってまして、その中で知っておくと便利な知見をまとめておこうかと思います。
今回はレコードを複製したい場合。
ちょいちょいケースとして存在するので調べてみるとかなり短いスクリプトでやれそうです。
var sourceRecordSysID = "[sys_id of your record here]",
tableName = "[your table name here]";
var gr = new GlideRecord(tableName);
gr.initialize();
gr.get(sourceRecordSysID);
gr.insert();
ではこれをどこに書くかというと色々考えられますが、私は Scheduled Jobs
でやりました。
- Filter Navigator(左メニューの検索窓)で
Scheduled Jobs
と入力 - メニューをクリック後、Table上部の
New
をクリック -
Automatically run a script of your choosing
を選択 -
Run
Fieldの値をOn Demand
に変更(必要に応じて実行するモード) -
Run this script
Fieldに上記のスクリプトを貼り付けてSubmit
この状態で再度スクリプトを開いて、 Execute Now
を選択すると、指定したTableのレコードが複製されると思います。