LoginSignup
1
0

More than 1 year has passed since last update.

Workflowアクティビティ一括検索データベースビューについて

Last updated at Posted at 2022-06-03

※本投稿は過去に弊社のHatena blog MKIが解説するServiceNow開発blog に掲載した内容を再編集したものです。

はじめに

突然ですが、ServiceNowのWorkflowでどんなアクティビティが存在するか、指定したスクリプトが使われているアクティビティがどれかを調べるのに苦労したことはありませんか?

基本的には1つ1つアクティビティを開かないと確認できず、複数のアクティビティを一括で検索するツールも標準では用意されていません。

そこで、今回は現在PublishとなっているWorkflowに含まれるアクティビティを一覧表示するDatabase View(複数のテーブル間の結合を表す擬似テーブル)を作成し、Workflowに使用されているアクティビティやそのアクティビティで設定されている値やスクリプトを検索する方法をご紹介させて頂きます。

今回利用する機能

Database View

テーブル構成

Workflowの情報は複数のテーブルで管理されており、今回利用するテーブルとテーブル同士の関係性は以下になっております。
image.png

wf_workflow_version
 Workflowの特定のバージョン (公開されたバージョンまたはチェックアウトされたバージョン)を管理する

wf_activity
 Workflowで使用されているアクティビティを管理する

sys_variable_value
 様々なテーブルの変数(WorkflowやFlow Designerなどに設定された情報)を管理する

設定方法

Database View全体としては以下となり、View Tableを4つ使用しています。
image.png

Orderが100となっているwf_workflow_versionのView Tableは以下の設定となっています。
image.png

Orderが200となっているwf_workflow_versionのView Tableは以下の設定となっています。
ここで再度wf_workflow_versionのView Tableを作成している理由は、wf_workflow_versionのレコードのうちpublish=trueのみというフィルターをかけたいのですが、View Table単体では使用できないため、同一テーブルを参照したView Tableを2つ作成してjoinしています。
image.png

wf_activityのView Tableは以下の設定となっています。
WorkflowとWorkflowで使用しているアクティビティを結びつけています。
image.png

sys_variable_valueのView Tableは以下の設定となっています。
Workflowアクティビティと変数を結びつけています。
image.png

これでDatabase Viewの作成は完了です。Database Viewを実行し、Workflow名や指定したスクリプトでフィルタリングしてWorkflowで使用しているアクティビティがヒットすれば成功です。
以下は弊社インスタンスで稟議申請の中でBoxと連携を行っているスクリプトを含んでいるアクティビティをフィルタリングした結果になります。
image.png

おわりに

今回の検証により、Database Viewを利用しWorkflowに存在するアクティビティを調査することができるようになりました。
最後まで読んでいただき、ありがとうございました。

三井情報株式会社
ソリューション技術本部
ITマネジメント技術部
第一技術室
甲田善寛

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0