最近私の周りでワークフローの開発工数を削減できないかという話が持ち上がっています。
新規でワークフローを作成するとなると、基本的にはカタログアイテムとフローを作成しカタログアイテムにフローを紐づけますね。
フローの構成が全く異なる場合は都度作成する必要がありますが、
ほとんど似た構成の場合にフローを使い回すことができたら開発工数をカタログアイテムの作成分だけで済ますことができます。
承認フローでは何となくフローを使い回せると想像がつきますが、
カタログタスクを作成するアクションを入れた場合にどのように処理が行われるのか気になり検証してみました。
フローを複数のカタログアイテムで処理する
フローを複数のカタログアイテムで処理すると、どのような動きをするのか見ていきたいと思います。
複数のカタログアイテムに共通の変数を紐づけられる「変数セット」を使用します。
カタログアイテムの構成は以下です。
フローではカタログタスクにcatalogAの変数VariableSetA_1が表示されるように設定します。
カタログタスクが作成されました。
変数セットに作成した変数VariableSetA_1が表示されています。
こちらもカタログタスクが作成されました。
catalogAの時と同じように変数セットの変数VariableSetA_1が表示されています。
「Create Catalog Task」で選択していないカタログアイテムでフローを処理してもカタログタスクが作成されました。
また変数セットの変数を使用することで、複数のカタログアイテムから同じ構成のカタログタスクを作成できることもわかりました。
フローを複数のカタログアイテムで処理する(変数だけを使用)
変数セットを使用しない場合にはどのように処理が行われるか検証してみました。
カタログアイテムの構成は以下です。
カタログタスクにはcatalogAの変数catalogA_1を表示するように設定します。
変数catalogA_1がカタログタスクに表示されています。
フローのアクションで選択した変数が存在しないため、カタログタスクは作成されましたが変数は何も表示されませんでした。
おわりに
今回は変数セットの「複数のカタログアイテムで変数を共通利用する」という特性を利用してフローの共通化を図りました。
ServiceNowではノーコード開発、市民開発といった従来の開発手法よりも効率的な開発を実現することができる為、
今回ご紹介した対応以外にも様々なやり方があると思いますので、当社も継続検討していきます。