こんにちは
SCSKの庄司です。
前回、ServiceNowの注文ガイドの基本機能についてご紹介いたしました。

今回は前回記事の末尾に記載いたしました、注文ガイド内での申請内容への順序付け方法を紹介していきます。
順序付けとは?
「順序付けって何?」という方も多いかと思いますので、まず簡単に説明します。
今回も、PDI(Personal Developer Instance)にデフォルトで実装されている「New Hire」注文ガイドを使用します(以降「新規雇用」注文ガイドと表記します)。
この注文ガイドは、新入社員に必要な備品やアカウントをまとめて申請できる便利なものです。
以下のようなカタログアイテムが含まれています。
- Standard Laptop
- Developer Laptop (Mac)
- Standard 27″ Monitor
- New Email Account
- Apple iPhone 13
- Samsung Galaxy S22 Ultra 5G
- Corp VPN
- Desk Set Up
上記のアイテムの中に例えば、以下のような前後関係がある場合を考えてみます:
- 「Corp VPN」は「New Email Account」が完了してからでないと申請できない
- 「Standard 27″ Monitor」は「Desk Set Up」の後でないと手配できない
しかし、デフォルトの注文ガイドではすべてのアイテムが同時に申請されるため、このような前後関係がある場合に問題が発生します。
ここで役立つのが「順序付け機能」です。この機能を使うことで、申請時は一括申請可能でも、処理の順番をコントロールすることができます。
プラグインの導入
早速注文ガイドの実行順序設定方法を紹介していきます。
この機能を利用するには、まず以下のプラグインを有効化する必要があります。
・Order Guide Sequential Fulfillment(com.glideapp.servicecatalog.order_guide_sequencing)
①[すべて]>[システム定義]>[プラグイン]に遷移し、Order Guide Sequential Fulfillmentプラグインを検索します。
②Order Guide Sequential Fulfillmentプラグインをインストールします。
上記手順で事前準備完了です。
プロセスの構築
上記手順実施後、注文ガイドフォームに遷移すると[シーケンスを生成]ボタンが表示されます。
「新規雇用」注文ガイドフォームを開くと、[シーケンスを生成]ボタンがあることが確認できますね。
[シーケンスを生成]を押下すると、以下のような確認のポップアップが表示されます。
Process name欄に名前を設定し、[生成]を押下します。
デフォルトでは「(注文ガイドの名前) プロセス」になっているので、問題ない場合はそのまま[生成]を押下します。
[生成]ボタン押下後、数秒待つとWorkflow Studioに自動遷移し、上記で設定した名前のPlaybookが表示されます。
生成されたプロセスでは、全アイテムが横並び(=同時実行)になっています。
ここに、前述した通り以下の前後関係を設定していきます。
- 「Corp VPN」は「New Email Account」が完了してからでないと申請できない
- 「Standard 27″ Monitor」は「Desk Set Up」の後でないと手配できない
まずはプロセスから、Corp VPNを選択します。
右側に出るプロパティのStart ruleで「After specific activities」を、Starts after で「New Email Account」を選択し、[保存して閉じる]を押下します。
すると、プロセス内で「Corp VPN」が「New Email Account」の後続に来るようになったことが視覚的にわかります。
同様に、「Desk Set Up」の後に「Standard 27″ Monitor」が来るように変更します。
最後に、右上の [アクティブ化] を押してプロセスを有効化します。
以上で、以下の過程をプロセス上で再現することが出来ました。
- 「Corp VPN」は「New Email Account」が完了してからでないと申請できない
- 「Standard 27″ Monitor」は「Desk Set Up」の後でないと手配できない
動作確認
順序付け設定前後で、RITM(要求アイテム)レコードのステージの動きにどのような違いがあるかを確認してみましょう。
順序なし(デフォルト)の場合
並行でのプロセスの場合、以下のように注文ガイドを送信した後各アイテムのステージが一気に動き出します。
前後関係があるにも関わらず「Corp VPN」や「Standard 27″ Monitor」もすぐにステージが進んでしまいます。
順序付けありの場合
以下のように、前提となるアイテムを設定した「Corp VPN」、「Standard 27″ Monitor」のみ他アイテムと異なり最初のステージ(未開始)のままであることがわかります。
では、「Corp VPN」の前提となっている「New Email Account」を完了してみましょう。
「Corp VPN」のステージが動き始めたことが確認できました。
「Standard 27″ Monitor」も同様です。
「Desk Set Up」が完了すると、ステージが動き始めたことが確認できます。
以上が注文ガイドへの順序付けをした際の動作になります。
他にも、プロセスには様々なオプションがあるので簡単に紹介していきます。
補足:プロセスの便利なオプション
1. ステージ(レーン)の追加
プロセスではアイテムごとに順序や前後関係を決めるだけでなく、関連するアイテムをグループ化し、ステージ単位で順序制御が可能です。
複雑な申請プロセスの整理に有効です。
2. 条件分岐の追加
プロセスには、フロー同様条件分岐を追加することが出来ます。
たとえば「前のアイテムが成功していなければ後続をスキップする」といった条件付きの処理が可能です。
3. アクティビティの追加
プロセスにはアイテムや条件分岐のみでなく、アクティビティを追加することが出来ます。
アクティビティには、フローやサブフロー、カスタムのアクションなども含まれています。
サブフローやスクリプトアクションなどの追加により、差し戻し時の連鎖対応や動的な挙動制御も可能です。
アクティビティをうまく使えるかどうかで、注文ガイドで実現できる要件の幅がぐっと広がります。
4. ビュー切り替え(ダイアグラム/ボード)
注文ガイド自体の機能と直接関係はありませんが、プロセス編集画面のビューを変更することが出来ます。
- ダイアグラムビュー:視覚的な流れを確認しやすい
- ボードビュー:アイテムの並び替えやグループ化に便利
私は「編集はボードビュー」「確認はダイアグラムビュー」で使い分けています。
まとめ
注文ガイドは、ユーザーが1つの申請で複数のアイテムを同時にリクエストできる便利な機能です。
今回ご紹介した「順序付け機能」を活用することで、依存関係のある業務プロセスでもスムーズに運用できるようになります。
注文ガイドを構築する際は、ぜひ「プロセスの生成」による順序制御も取り入れてみてください。