ServiceNow開発者・管理者用便利ツールである SNUtilsの概要や使い方を説明します。
SN Utilsとは
SN UtilsとはServiceNow開発者・管理者の作業効率を飛躍的に向上させる非公式のブラウザ拡張ツールです。開発者はServiceNow従業員のArnoud Kooiであり、2024年8月時点でも更新が続いています。非公式ながらその便利さが認められ、ServiceNowのDeveloperブログやYoutubeチャンネルでも紹介されています。
インストール方法
拡張機能/アドオンとして各ブラウザに追加します。対応ブラウザはChrome, Safari, Firefox, Edgeの4つです。
以下、各ブラウザのインストールリンクです。
Chrome / Edge / Firefox / Safari
インストール後、各ServiceNowインスタンスにログインした状態でSN Utilsが自動で機能するようになります。
主な機能
SN Utilsには数多くの便利機能がありますが、その中でも筆者がよく利用する機能について紹介します。なお、筆者はWindows OSにてChrome版のSN Utilsを使用しています。
スラッシュコマンド(Slashcommands)
インスタンスを開いている状態でスラッシュキー(“/”)を押すと、以下のスラッシュコマンド画面が表示されます。この画面に様々なコマンドを入力することで、作業を大幅に効率化させることができます。
個人的によく使うスラッシュコマンドを説明します。どれも日々の生産性を高め、ServiceNow開発を非常に快適にさせてくれます。
言語切り替え
/lang <言語>で、インスタンス言語を変更することができます。
プロパティ検索
/p <検索したい文字列> で、検索したい文字列を含むプロパティを検索することができます。/pのみの場合、プロパティテーブルを開きます。
ユーザ検索
プロパティ検索と同様に、/u <検索したい文字列>で、ユーザを検索することができます。
プロパティ・ユーザと同様に、ビジネスルール(/br)、UIアクション(/ua)、UIポリシー(/up)、スクリプトインクルード(/si)、クライアントスクリプト(/cs)も検索可能です。
レコード検索
/<SysID>で、該当SysIDを持つレコードの検索が可能です。スクリプトやシステムプロパティにSysIDが直接入力されているレコードを確認したいときに便利です。
フォームの必須項目を入力
/rnd で、フォーム画面の必須項目を自動入力します。テスト時や、さっとレコードを作成したいときに、非常に重宝します。
開発者であるArunodお気に入りの機能だそうです。
Docs検索
/docs <検索したい文字列>でServiceNow Docsの記事検索ができます。同様に、/apiではServiceNow DevelopperでAPIを、/commではServiceNow Communityでコミュニティ記事を検索できます。
バックグラウンドスクリプトに遷移
/bgで、バックグラウンドスクリプトを開きます。SN Utilsをインストールすることでバックグラウンドスクリプトも改良され、エディタが黒背景に、スクリプトの実行結果が画面右に出力されるようになります。
また、/bgcで、今開いているレコードをGlideRecordで取得するスクリプトが自動的に入力された状態で、バックグラウンドスクリプトを開くことができます。
GlideRecordについては以下の記事で詳しく解説しています。あわせてご覧ください。
今回紹介したスラッシュコマンドを一覧にまとめておきます。
コマンド | 説明 | 例 |
/lang <言語コード> | インスタンス言語を切り替える | /lang ja |
/p <検索したい文字列> | プロパティを検索する | /p home |
/u <検索したい文字列> | ユーザを検索する | /u admin |
/br <検索したい文字列> | ビジネスルールを検索する | |
/ua <検索したい文字列> | UIアクションを検索する | |
/up <検索したい文字列> | UIポリシーを検索する | |
/si <検索したい文字列> | スクリプトインクルードを検索する | |
/cs <検索したい文字列> | クライアントスクリプトを検索する | |
/<SysID> | SysIDからレコードを検索する | |
/docs <検索したい文字列> | Docsの記事を検索する | /docs GlideRecord |
/api <検索したい文字列> | DeveloperサイトのAPIリファレンスを検索する | /api g_form |
/comm <検索したい文字列> | コミュニティ記事を検索する | /comm GlideAjax |
/rnd | フォーム画面で必須項目を自動入力する | – |
/bg | バックグラウンドスクリプトを開く | – |
/bgc | 開いていたレコードを取得するスクリプトが入力された状態のバックグラウンドスクリプトを開く | – |
項目名表示(Technical Names)
フォーム画面の白い部分をダブルクリックすることで、フィールドラベルの横にフィールド名を表示させることができます。各フィールドの内部名を確認したいときに非常に便利です。
また、Referenceフィールドは、フィールド名をクリックすることで、参照元となるテーブルのリスト画面を表示可能です(リスト画面でも同様に余白をダブルクリックすることで、フィールドの項目名を表示することが可能です)。
さらに、ヘッダー部分のリンクをクリックすることで、Scratchpadの値や、拡張元を含む各テーブルのフィールドがフォーム画面上に表示されているか・されていないか・表示されているが何らかのスクリプト等で隠されているか を確認することができます。
なおこれらの情報は/tn スラッシュコマンドでも表示させることができますが、筆者はダブルクリックでいつも表示させています。
ポップアップタブ(Pupup tabs)
拡張機能のアイコンをクリックすることで、ポップアップタブを開くことができます。こちらにも様々な便利機能が用意されています。
以下、個人的によく利用するポップアップタブの機能を紹介します。
UpdateSet
現在のアプリケーションスコープにおける利用可能なUpdateSetの一覧を表示し、UpdateSetの切り替えや新規作成、各UpdateSetの定義画面へ遷移することができます。
UpdateSetについては以下の記事で詳しく解説しています。あわせてご覧ください。
Tables
テーブル名を検索し、リスト画面やテーブル定義を表示することができます。特に、作成したカスタムテーブルのリスト画面を表示したいときに重宝します。
その他
その他、筆者が利用している便利機能を紹介します。
スコープ・アプリケーションの確認・変更
地球儀アイコンの左に、現在のアプリケーションスコープやUpdateSetが表示されます。クリックすることで、それらを変更することができます。UpdateSet切り替えミスの防止に繋がると共に、切り替えのステップを短縮できます。
また、現在のアプリケーションスコープと異なるスコープで作成されているレコードを開いた際、通常で表示されるスコープ変更リンクをクリックしても一時的にしかスコープが変更されませんが、SN Utilsで表示されるリンクをクリックすると、該当するスコープへ永続的に切り替えることができます。
フォーム保存がショートカットで実行できる
以下のショートカットで、いちいちUpdateやSaveのUI Actionをクリックせずに、レコードの保存が可能です。
- Ctrl+S:フォームの保存
- Ctrl+Shift+S:レコードを挿入して維持(Insert and Stay)
リスト画面に特定の項目を瞬時に表示させる
リスト画面の歯車マーク右に表示されているアイコンをクリックすることで、特定の項目(初期設定では更新日時、更新者、作成日時、アプリケーション)を瞬時にリスト画面に表示させるようパーソナライズすることができます。最新のレコードや自分が開発していたレコードを確認するために、リスト画面を更新日時でソートしたい。が、リスト画面に更新日時フィールドが表示されていない…なんて時にとても役立ちます。
表示させる項目は、ポップアップタブのSettingsでカスタム可能です。
インスタンスごとにタグを表示する
ポップアップタブのSettingsタブで「Enable Instance Tag」をチェックすることで、インスタンス毎にタグを表示させることができます。タグは色やサイズ、配置場所等を細かく設定できるため、開発環境、テスト環境、本番環境の区別を強調し、操作環境ミスを減らすことができます。
タグの表示/非表示は/itt スラッシュコマンドで変更できます。
※ただし筆者は、以前から愛用していたEnvironment Indicatorという別の拡張機能を使用しています。
使用にあたっての注意
画面やDOMに影響を与えるものであるため、クライアント系の動作テストやユーザマニュアル作成時、ベンダーの方はクライアントへのデモ披露時には念のためSN Utilsをオフにすることを推奨します。
その他、SN Utilsには様々な便利機能が備わっています。LinkedInやX(旧Twitter)アカウントでもTipsが随時投稿されているので、是非チェックしてみてください。
今回は以上です。
コメント