ServiceNowにはCSA(Certified System Administrator)という認定資格があります。
今回はその試験範囲の1つである「セルフサービスとプロセスの自動化」の中の「フローデザイナー(Flow Designer)」について解説します。
実際に出題された問題も記事内には盛り込んでいるので、CSA対策の一助になれば幸いです。
フローデザイナーとは
フローデザイナーは、プログラムのコードを書かなくても処理を作成することができるものです。
いわゆる『ノーコード開発』と呼べるものだと私は思います。
項目の選択や画面上でのドラッグアンドドロップなどにより処理を作れるんです。
フローデザイナーの構成
フローデザイナーの構成要素としては以下の3つがあります。
- トリガー
- アクション
- データ
順番に見ていきましょう。
トリガー
まずはトリガーです。
作成したフローをどのような条件の時に動かすかですね。
画面の左側のエリアの先頭に表示されており、1つだけ指定することができます。
大別すると以下の3つの中から指定することが可能。
- レコードベース
- スケジュールベース
- アプリケーションベース
トリガーを指定する時は合わせて条件を設定します。
それぞれどのようなものか紹介しますね。
レコードベース
レコードベースというのは特定のテーブルのデータが以下の状態になった場合をトリガーにするものです。
- 追加された場合
- 更新された場合
- あるいは上記2つのどちらか
あるインシデントが発生してレコードが作成された場合や重要度が「低」から「高」に変更された場合などレコードの状態をトリガーに処理を行う事は多いですよね。
そのような場合にはレコードベースをトリガーに指定しましょう。
スケジュールベース
スケジュールベースというのは『時間』をトリガーにするもので、以下があります。
- 日次
- 毎日9時に前日分の集計をしたい
- 週次
- 毎週月曜日と水曜日の18時に動かしたい
- 月次
- 毎月1日に前月分のデータを処理したい
- 一度だけ
- 指定の日時に一度だけ動かしたい
- 繰り返し
- 10分毎にチェックしたい
仕事をする上では定例の報告など、定期的に行う業務というのは数多くありますね。
そのような場合はスケジュールベースをトリガーに指定するのが良いでしょう。
アプリケーションベース
アプリケーションベースで指定できるのは以下の3つがあります。
- SLA Task
- メール受信時
- サービスカタログ
アクション
アクションは具体的に何をするかですね。
トリガーの下に表示されており、複数作成することができます。
ServiceNowコアアクションと呼ばれるものとしては以下のようなものがあります。
- レコードの検索
- フィールド値の更新
- レコード作成
- 承認レコードの作成
:
(他にも多数)
また、スポークと呼ばれる他のサービスを利用することも可能ですよ。
※本ブログ内では動的翻訳を行えるスポークとしてDynamic Translationを以前紹介しました。
よければこちらも参考にしてみて下さい。
データ
データセクションは画面の右に表示されます。
トリガーとして指定したレコードの内容や各アクションでの結果などを後続のアクションで使用することが可能です。
ドラッグアンドドロップでも行えますし、データピルピッカーというものを使って指定することもできますよ。
フローデザイナーを使ってみる
それでは実際にフローデザイナーを使ってみましょう。
「インシデントテーブルに新しいレコードが作成された際に、優先度が重要であればFred Luddyにアサインする」という処理を作ってみます。
まずは画面左上のフィルターナビゲーターに「Flow designer」と入力しましょう。
以下が表示されるので、選択すると別タブにてFlowDesignerの画面が表示されます。
- プロセス自動化
- Flow Designer↗
フローデザイナーの画面はこんな感じ。
赤枠部に以下が並んでいます。
- フロー
- サブフロー
- アクション
- 実行
- 接続
- ヘルプ
今回はフローを作成してみます。
左上の新規ボタンよりフローを選択しましょう。
すると、フロープロパティという画面が表示されます。
- フロー名
- 説明
- アプリケーション
- 保護
- 実行方法
今回は以下のような形で設定してみました。
入力ができたら「送信」ボタンをクリック。
今回は「優先度」が”1-重要”のインシデントを作成時に動くフローにしたいと思います。
トリガー:作成日時(Created)
※日本語訳が若干おかしいような気はします。
テーブル:インシデント
条件:優先度=1-重要
このような感じにできたら「完了」をクリックします。
アクションとしてはアサイン先を「Fred Luddy」氏にしてみたいと思います。
「⊕アクション、フローロジック、またはサブフローを追加」というリンクをクリックすると、上図のような画面が表示されるので、「アクション」を選択します。
更にServiceNowCoreの「レコードを更新」を選択しましょう。
レコードにトリガーで設定したインシデントのレコードを指定します。
データセクションからドラッグアンドドロップするかデータピルピッカーで選択して下さい。
フィールドに「アサイン先」を選択し、値として”Fred Luddy”を指定します。
上図のように設定できたら「完了」ボタンをクリックします。
右上の「保存」ボタンを押して作成したフローを保存しましょう。
フローを有効化する前にちゃんと動くかテストをします。
「テスト」ボタンをクリックしましょう。
上図のような画面が表示されるため⊕アイコンをクリックして新規のインシデントレコードを作成します。
「影響」と「緊急度」を”1- 高”に設定し、「優先度」を”1-重要”にします。
「送信」ボタンをクリックすることで新規レコードが作成されます。
作成したレコードの状態を確認すると、アサイン先はまだ設定されていないのがわかります。
右下の「テストを実行」をクリックしましょう。
真ん中にリンクが表示されるのでクリックします。
「アサイン先」がちゃんと設定されているのでこれでテストは完了です。
テストをしてみて問題なければフローを「有効化」しましょう。
画面の上部がこのような表示になれば、フローはアクティブな状態です。
上図のような感じで、新規のインシデントレコードを作成してみます。
「影響」と「緊急度」を”1-高”に設定し、「優先度」を”1-重要”にしました。
この時点では「アサイン先」は未設定です。
「送信」ボタンをクリック。
無事にアサイン先が「Fred Luddy」氏になりました。
成功ですね♪
今回もお疲れさまでした。
まとめ
フローデザイナーはいかがでしたでしょうか?
今回はフローデザイナーの構成要素である3つを紹介しました。
- トリガー
- アクション
- データ
また、実際に簡単なフローを作成しテストの方法などを確認することができました。
フローデザイナーがあれば、プログラミングができなくても様々なプロセスを自動化することができそうですね。
細かい処理などをしようと思うとやっぱりコードを書く必要がある場合もありますが、フローデザイナーが持つ機能のなかで処理を組み立てていくのも良いと思います。
今回紹介したものはフローデザイナーのごく一部です。
あなたも色々作成してみて下さい。
もっと理解を深めるには
文字だけを見て学ぶよりも、実際にServiceNowの環境を触ってみるのが効果的です。
そんなこと言っても家では会社の環境にはアクセスできないよ〜
PDI(個人用開発インスタンス)を使用すれば、誰でもどこからでも無料で自分だけの環境を作ることができるんですよ。
以下の記事を参考にしてみて下さい。
これで、家でこっそりServiceNowのことを勉強して、会社で「できるやつ」って思われるかもね。
それぞれでどんな事ができるかはCSAの試験にも出題されます。
試験対策だけでなく、実際に使用する人や開発する人でもどんな事ができるかは知っておいて損はないかなと思います。
他のCSA対策の記事はこちらでまとめているので、よかったら是非見てやって下さい。
見ていただけると、とても喜びます😆
本記事に書かれていないものでこんな問題も出ていたよなどがあれば、コメント欄に記載頂くかお問い合わせフォームより連絡頂けると幸いです。
連絡いただけたものは随時加筆させていただこうと思います。
最後まで見て頂きありがとうございます。
コメント