#概要
データセンタ訪問許可申請 ー 申請フォームの作成からの申請を処理するためのフローです。次の仕様のフローを作成します。
- 申請されたらフローを実行させる。
- 管理者が申請を許可/却下できる
- 許可した場合は申請を完了してクローズにする。
- 却下の場合は申請を却下してクローズにする。
ServiceNow申請処理の説明
フローを作成する前にServiceNowでの申請処理について簡単に説明します。
- ServiceNowポータルから申請フォームを入力して「送信」ボタンを押下すると申請処理が実行されます。フローが定義されていない場合はデフォルトフローが実行されます。
- ServiceNowの申請はオンライン買い物サイトのようです。買い物を行うと1つの注文で複数の物を買うことができるようにServiceNowの申請は1つの申請で複数の依頼ごとを受けることができます。申請を「リクエスト」又は「要求」と呼び、詳細を「アイテム」と言います。
フォームの「送信」ボタンを押下すると「要求」と「アイテム」が作成されます。データセンター訪問許可申請には1つの要求に1つのアイテムしかありませんがオン・ボーディングのように1つの申請(要求)に複数の作業(アイテム)があることもあります。
申請をクローズ(完了)にするには各アイテムを完了した後に要求を完了にします。フローでもこの2つの処理を行います。
要求は「要求番号」で管理されます。デフォルトでは「REQ」から始まる番号になります。 - アイテム(ここでは「データセンター作業」)をクリックするとアイテムの詳細ページが表示します。アイテムはアイテム「番号」で管理されます。デフォルトでは「RITM」から始まる番号です。
- アプリケーションナビゲータからから申請を閲覧することもできます。
アプリケーションナビゲータから「要求」を検索してセルフサービス下の「自分の要求」を選択すると自分が行った申請一覧が表示されます。
1.要求は「REQ」から始まる番号でスタータスのその要求の状態です。下の例では承認待ちのためにステータスは「オープン」です。 - 要求を開くとページの下にその要求に関連したアイテム一覧が表示さます。
- 今回は申請を許可又は却下した後にアイテム(RITMから始まる番号)とステータスを「完了してクローズ」にします。
- アイテムをクローズした後に要求(REQから始まる番号)の要求ステータスを「完了してクローズ」又は「却下してクローズ」に設定します。
作成手順
フローの作成
- アプリケーションナビゲータから「flow」を検索して、「プロセス自動化」下のFlow Designerを選択します。
- 新規のフローを作成します。
「新規」ボタンを押下します。 - フローの名前を入力します。
今回は「データセンター作業申請」にします。入力した後に「送信」ボタンを押下します。 - フローを実行する条件をトリガーで指定します。
「トリガーを追加」をクリックします。 - フォームから申請がある場合にフローを実行させるためトリガー条件を「サービスカタログ」にします。
- これでトリガーは設定されました。「完了」ボタンを押下します。
- フロー中の設定内容を分かりやすくするためにステップ毎に注釈を記入します。注釈アイコンをクリックします。
- 「データセンター入館申請がある場合に実行する。」を入力します。
- 実行処理を設定します。
先ずは承認ステップを追加します。
「アクション、フローロジック、またはサブフローを追加」をクリックします。 - 「アクション」を選択して「ServiceNow Core」ー「Ask For Approval」を選択します。
- 承認を対象にするレコードをフィールド「レコード」に設定します。Flow Designerの場合は右側メニューから当該フィールドをドラッグ&ドロップしてレコードを設定します。今回は「要求アイテムRecord」をフィールド「レコード」にドラッグ&ドロップします。
- ドラッグ&ドロップするとフィールド「レコード」、「テーブル」、「承認フィールド」、「ジャーナルフィールド」が記入されます。
- 承認者を設定します。
一般の場合は特定のユーザを承認者に指定するのではなく、ユーザをグループにしてそのグループを承認者に指定します。今回も承認者をグループの誰かが承認したらよいとします。
承認者ルールを「誰でも承認可能」に設定して、グループアイコンを選択します。 - グループアイコンを選択します。
- 今回は承認者グループを「ITI承認者」に設定します。自者インスタンスに作成されたグループを選択してください。
- これで承認ステップを設定しました。
「完了」ボタンを押下します。 - 注釈を記述してます。
注釈アイコンを選択します。 - 注釈を記述してます。
注釈アイコンを選択して「許可を依頼。」っと入力します。 - 申請が許可されたかのif文を入れます。
「アクション、フローロジック、またはサブフローを追加」をクリックします。 - 「フローロジック」をクリックして「If」を選択します。
- If文の説明を入力します。
今回は「入館申請が許可されたか?」を入力します。 - If文の条件を設定します。今回は申請が承認されたか却下されたかを判断します。
上のAsk For Approvalステップの結果を利用します。
右のメニューから承認ステップ「1. Ask For Approval」を展開して、「承認ステータス」をフィールド「条件1」までドラッグ&ドロップします。 - 承認と却下の他にも取消しなど他ステータスもありうるので判定条件を「承認以外の場合」にします。
「次の値ではない」を選択します。 - 「承認済み」を選択します。
- これでIfステップは設定されました。
「完了」ボタンを押下します。 - アイテムのクローズするステップを追加します。
Ifステップの右下の「アクション」を選択します - 「ServiceNow Core」ー「Update Record」を選択します。
- 申請されたレコードを処理するので「トリガー」下の「要求アイテムRecord」をフィールド「レコード」にドラッグ&ドロップします。
- どのフィールドを何に設定するかは元となる要求アイテムページを参照します。
- 要求アイテムページのフィールド「ステータス」を「完了してクローズ」に設定したいでUpdate要求アイテムステップのフィールドを「ステータス」に設定して値を「完了してクロース」を選択します。
- これでアイテムレコードの更新処理は設定されました。「完了」ボタンを押下します。
- 注釈を記述します。
注釈アイコンを選択して「」ita.com/htshozawa/items/80e8f5a7af1741219eab">データセンタ訪問許可申請 ー 申請フォームの作成からの申請を処理するためのフローです。次の仕様のフローを作成します。
- 申請されたらフローを実行させる。
- 管理者が申請を許可/却下できる
- 許可した場合は申請を完了してクローズにする。
- 却下の場合は申請を却下してクローズにする。
ServiceNow申請処理の説明
フローを作成する前にServiceNowでの申請処理について簡単に説明します。
- ServiceNowポータルから申請フォームを入力して「送信」ボタンを押下すると申請処理が実行されます。フローが定義されていない場合はデフォルトフローが実行されます。
- ServiceNowの申請はオンライン買い物サイトのようです。買い物を行うと1つの注文で複数の物を買うことができるようにServiceNowの申請は1つの申請で複数の依頼ごとを受けることができます。申請を「リクエスト」又は「要求」と呼び、詳細を「アイテム」と言います。
フォームの「送信」ボタンを押下すると「要求」と「アイテム」が作成されます。データセンター訪問許可申請には1つの要求に1つのアイテムしかありませんがオン・ボーディングのように1つの申請(要求)に複数の作業(アイテム)があることもあります。
申請をクローズ(完了)にするには各アイテムを完了した後に要求を完了にします。フローでもこの2つの処理を行います。
要求は「要求番号」で管理されます。デフォルトでは「REQ」から始まる番号になります。 - アイテム(ここでは「データセンター作業」)をクリックするとアイテムの詳細ページが表示します。アイテムはアイテム「番号」で管理されます。デフォルトでは「RITM」から始まる番号です。
- アプリケーションナビゲータからから申請を閲覧することもできます。
アプリケーションナビゲータから「要求」を検索してセルフサービス下の「自分の要求」を選択すると自分が行った申請一覧が表示されます。
1.要求は「REQ」から始まる番号でスタータスのその要求の状態です。下の例では承認待ちのためにステータスは「オープン」です。 - 要求を開くとページの下にその要求に関連したアイテム一覧が表示さます。
- 今回は申請を許可又は却下した後にアイテム(RITMから始まる番号)とステータスを「完了してクローズ」にします。
- アイテムをクローズした後に要求(REQから始まる番号)の要求ステータスを「完了してクローズ」又は「却下してクローズ」に設定します。
作成手順
フローの作成
- アプリケーションナビゲータから「flow」を検索して、「プロセス自動化」下のFlow Designerを選択します。
- 新規のフローを作成します。
「新規」ボタンを押下します。 - フローの名前を入力します。
今回は「データセンター作業申請」にします。入力した後に「送信」ボタンを押下します。 - フローを実行する条件をトリガーで指定します。
「トリガーを追加」をクリックします。 - フォームから申請がある場合にフローを実行させるためトリガー条件を「サービスカタログ」にします。
- これでトリガーは設定されました。「完了」ボタンを押下します。
- フロー中の設定内容を分かりやすくするためにステップ毎に注釈を記入します。注釈アイコンをクリックします。
- 「データセンター入館申請がある場合に実行する。」を入力します。
- 実行処理を設定します。
先ずは承認ステップを追加します。
「アクション、フローロジック、またはサブフローを追加」をクリックします。 - 「アクション」を選択して「ServiceNow Core」ー「Ask For Approval」を選択します。
- 承認を対象にするレコードをフィールド「レコード」に設定します。Flow Designerの場合は右側メニューから当該フィールドをドラッグ&ドロップしてレコードを設定します。今回は「要求アイテムRecord」をフィールド「レコード」にドラッグ&ドロップします。
- ドラッグ&ドロップするとフィールド「レコード」、「テーブル」、「承認フィールド」、「ジャーナルフィールド」が記入されます。
- 承認者を設定します。
一般の場合は特定のユーザを承認者に指定するのではなく、ユーザをグループにしてそのグループを承認者に指定します。今回も承認者をグループの誰かが承認したらよいとします。
承認者ルールを「誰でも承認可能」に設定して、グループアイコンを選択します。 - グループアイコンを選択します。
- 今回は承認者グループを「ITI承認者」に設定します。自者インスタンスに作成されたグループを選択してください。
- これで承認ステップを設定しました。
「完了」ボタンを押下します。 - 注釈を記述してます。
注釈アイコンを選択します。 - 注釈を記述してます。
注釈アイコンを選択して「許可を依頼。」っと入力します。 - 申請が許可されたかのif文を入れます。
「アクション、フローロジック、またはサブフローを追加」をクリックします。 - 「フローロジック」をクリックして「If」を選択します。
- If文の説明を入力します。
今回は「入館申請が許可されたか?」を入力します。 - If文の条件を設定します。今回は申請が承認されたか却下されたかを判断します。
上のAsk For Approvalステップの結果を利用します。
右のメニューから承認ステップ「1. Ask For Approval」を展開して、「承認ステータス」をフィールド「条件1」までドラッグ&ドロップします。 - 承認と却下の他にも取消しなど他ステータスもありうるので判定条件を「承認以外の場合」にします。
「次の値ではない」を選択します。 - 「承認済み」を選択します。
- これでIfステップは設定されました。
「完了」ボタンを押下します。 - 却下された場合のアイテムのクローズするステップを追加します。
Ifステップの右下の「アクション」を選択します - 「ServiceNow Core」ー「Update Record」を選択します。
- 申請されたレコードを処理するので「トリガー」下の「要求アイテムRecord」をフィールド「レコード」にドラッグ&ドロップします。
- どのフィールドを何に設定するかは元となる要求アイテムページを参照します。
- 要求アイテムページのフィールド「ステータス」を「完了してクローズ」に設定したいでUpdate要求アイテムステップのフィールドを「ステータス」に設定して値を「完了してクロース」を選択します。
- これでアイテムレコードの更新処理は設定されました。「完了」ボタンを押下します。
- 注釈を記述します。
注釈アイコンを選択して「申請(sc_req_item)を処理済とする。」を入力します。 - 却下処理を終了させます。
「Update要求アイテムRecord」直下の「+」をクリックします。 - 「フローロジック」をクリックして「終了」を選択します。If分岐の右側の処理に明示的に終了しないと継続して左側の処理も実行されますので注意してください。
- 申請は許可された場合の処理を追加します。却下された場合と同じようにアイテムレコードをクローズします。
If分岐の下にある「アクション、フローロジック、またはサブフローを追加」をクリックします。 - 「アクション」をクリックして、「ServiceNow Core」ー「Update Record」を選択します。
- フィールド「レコード」に「要求アイテムRecord」をドラッグ&ドロップします。
- フィールドを「ステータス」に設定して値を「完了してクローズ」に設定します。これでアイテムレコード更新ステップは設定されました。「完了」ボタンを押下します。
- 注釈を入力します。
注釈アイコンを選択して、「申請(sc_req_item)を処理済とする。」を入力します。 - 要求をクローズする設定を挿入します。
トリガーは要求アイテムレコードを渡しますが要求レコードは渡されません。要求レコードを変更するには要求アイテムレコードのフィールド「リクエスト」を利用して取得します。
申請が許可された場合も却下された場合も要求レコードは同じなのでIf文の上に要求レコードを取得するステップを挿入します。マウスポインタを「1. Ask For Approval」ステップと「2.If」ステップの間に移動すると「+」が表示されます。この「+」をクリックします。 - レコードを取得するステップを挿入します。
「アクション」をクリックして「ServiceNow Core」ー「Look Up Record」を選択します。
「Look Up Records」と間違えないようにしてください。 - 要求テーブル名は「sc_request」です。テーブルフィールドに「sc_request」を入力して表示される「要求[sc_request]」を選択します。
- ServiceNowは内部でレコードを特定するのにSys IDと言うキーを利用しています。今回のこのSys IDキーを利用して要求レコードを取得します。
条件に「sys」を入力して表示される「Sys ID」を選択します。 - 要求アイテムページを参照して要求レコードフィールド名は「リクエスト」であることを確認します。
- 右メニューの「要求アイテムRecord」を展開します。
- 表示された項目「リクエスト」を条件の一致条件値フィールドにドラッグ&ドロップします。
- これで要求レコード取得ステップは設定されました。
「完了」ボタンを押下します。 - 注釈を記述します。
注釈アイコンをクリックして「申請アイレムから申請(sc_request)を取得。」を入力します。 - 要求レコードのステータスを更新するステップを追加します。先ずは却下された場合のステップを追加します。
マウスポインタを「4. Update Requested Item Record」と「5. 終了」ステップの間に移動すると「+」が表示されます。この「+」をクリックします。 - 「アクション」をクリックして「ServiceNow Core」ー「Update Record」を選択します。
- ステップ2で取得して要求レコードを更新するので右メニューの「2. Look Up Record」下の「要求Record」をフィールドにドラッグ&ドロップします。
- 要求ページを参考にして更新するフィールドと値を確認します。今回はフィールド名「要求ステータブ」を更新します。
- フィールドをクリックして「要求」を入力して表示される「要求ステータス」を選択します。
- 設定する値を「却下してクローズ」にします。
- これで要求レコードの更新ステップ処理は設定されました。「完了」ボタンを押下します。
- 注釈を記述します。
注釈アイコンをクリックして「申請(sc_request)の状況を却下とする。」を入力します。 - 同じように許可された場合にも要求レコードをステータスも設定します。
ステップ「7. Update要求アイテムRecord」下の「アクション、フローロジック、またはサブフローを追加」をクリックします。 - 「アクション」をクリックして「ServiceNow Core」ー「Update Record」を選択します。
- 「要求Record」をレコードフィールドにドラッグ&ドロップします。
- フィールドを「要求ステータス」に選定します。
- 値を「完了してクローズ」にします。
- これで許可された場合の要求レコードの更新処理は設定されました。「完了」ボタンを押下します。
- 注釈を記述します。
注釈アイコンを選択して「申請(sc_request)の状況を閉じる。」を入力します。 - フローを保存します。
メニューから「Save」ボタンを押下します。 - 以上でフローは定義されました。次にフローをテストします。
フローのテスト
フローが正しく動作するかテストします。
- テストで利用する要求アイテム番号を確認します。
ポータルからの申請したページを開いて「番号」の値をメモします。
要求アイテム番号は「RITM」から始まる番号です。 - 要求アイテム番号を確認して後にフロー定義ページに戻りメニューから「Test」を選択します。
- メモした番号を入力して「テストを実行」ボタンを押下します。
- 実行されると「テストの実行が終了しました。確認してください:flow実行の詳細」リンクが表示されます。実行結果を表示するにはリンクをクリックします。
- フローが正常に実行されていることを確認します。
エラーが無い場合は「テスト実行-完了」っと表示されます。 - ポータルからテストで利用した要求アイテムを開いてStateが「Closed Complete」に変わっていることを確認します。
- 要求アイテムに関連した要求ページを開くとRequest stateフィールドが「Closed Rejected」に変更されています。
フローをフォームに関連付ける
フォームから申請された場合にフローが実行されるようにします。
- フォームとフローを関連付けるには先ずフローを有効にします。
メニューから「Activate」ボタンを押下します。 - 確認ダイアログが表示されます。
「Activate」ボタンを押下します。 - フローが「アクティブ」になったことを確認します。
- フォームからフローを実行するようにします。
フォームを開きます。
アプリケーションナビゲータから「アイテム」を検索して「カタログ定義」下の「アイテムの管理」を選択します。 - 今回はデータセンタ作業申請フォームから申請された時にフローを実行するため、「データセンター作業申請」を選択します。
- 「Process Engine」タブを選択してフィールドFlowの虫眼鏡をクリックします。
- 定義した「データセンター作業申請」を選択します。
- 「Update」ボタンを押下して設定を保存します。
- これで申請された場合にフローが実行されます。申請を行って試してみてください!
以上