ServiceNow ワークフローを作成する

[マーケティングイベント](http://qiita.com/Kisaragi13/items/c5f3a0f42b703affea01)アプリケーションにワークフローを作成する。
インスタンスのビルドタイプはJakarta。
※[アップグレードしました](http://qiita.com/Kisaragi13/items/2630bea5c16383ae2a2a)

# ワークフローとは
ServiceNowで言うワークフローは他のワークフローシステムと同様、本来の流れ図そのままの意味ではなく、流れ図のようにビジュアライズされる一連の自動化処理のことを指しています。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/fa69c122-b80a-7a82-f907-982ab5f46771.png)

今回は次の要件を満たすワークフローを作成します。

- 1万円以上の機器利用申請が登録されたとき、管理者であるLacy Belmontさんに承認を申請する
- 承認結果を承認ステータスから確認できるようにする

# ワークフローエディタを開く
インスタンスにログインする。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/ee1e7603-b9dd-1771-f67c-08b14137f553.png)

アプリケーションナビゲータの中から、ワークフロー → ワークフローエディタを選択（<font color="red">赤枠</font>）。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/ae70fd4e-670e-7511-c50e-c581028fa035.png)

ワークフローエディタ画面が開く。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/e47b5076-f950-0aa7-100d-54f780458446.png)

# ワークフローを新規作成する
「**新規ワークフロー**」ボタンをクリックする。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/42d216a0-7965-59dd-5c10-8ae12b97108e.png)

以下の設定を行い「**送信**」ボタンをクリックする。

| ラベル | 設定値 |
|:-:|:-:|
| 名前 | 高額機器利用申請 |
| テーブル | 機器利用申請 |
| 説明 | 1万円を超える機器の利用申請の場合に<br/>承認を通すサンプルワークフローです。 |
|  |   |
| 条件に一致した場合 | ワークフローを実行 |
| 条件 | 「コスト」が「次の値以上(>=)」、「1万円」 |

![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/6c558eca-5a08-1ec4-12dc-0dae51089d4d.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/60d1c0fd-47ed-09d8-83c0-2f8297eeb9c6.png)

ワークフローエディット画面が表示される。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/f7b46567-35dd-d374-8560-8f9ac0998845.png)

# ワークフローを設定する
画面右側の再度メニューから、「**コア**」タブを選択する。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/e549aa3a-ac86-6464-d616-6c8244c56f7f.png)
※ 補足
　- ワークフロー：インスタンス上のワークフローが表示される。ワークフローの内部でワークフローを呼び出すことができる。クリックするとエディット画面が新しいタブで開く。
　- コア：ServiceNowのワークフローアクティビティが表示される。
　- パック：ServiceNowストアからダウンロードしたワークフローアクティビティが表示される。自作したものもここに表示される。
　- データ：ワークフロー内で用いられたデータが表示される。

「**承認 - ユーザー**」アクティビティを追加する。
![sample.gif](https://qiita-image-store.s3.amazonaws.com/0/175688/6b99f3e4-da7a-419f-8449-1bc8c8fdeae9.gif)

以下の設定を行い「**送信**」ボタンをクリックする。

| ラベル | 設定値 |
|:-:|:-:|
| 名前 | 機器管理者承認 |
| 実行タイミング | デフォルト |
| 承認者 | Lacy Belmont |
| 承認条件 | デフォルト |
| スケジュール | デフォルト |

![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/ab38953f-aa4d-fa8d-d620-128a5dac13ab.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/659caa4f-a6f2-944d-5ad9-d02a1664d3e7.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/67942c93-d44d-1d44-54a6-deff0aede249.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/6fd16b10-5c6b-c1d0-f6e6-c9f8424b8568.png)

これで承認のフローはできましたが、まだ承認、却下時の処理が未設定となっています。そこで今回は、ステータス項目の更新用アクティビティを追加します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/0b09736e-492b-c277-9402-f37fad8035e0.png)


コアのユーティリティから「**値の設定**」アクティビティを3つ追加する。

|  | 配置 | 名前 | 設定値 |
|:-:|:-:|:-:|:-:|
| 1 | 開始と承認アクティビティの間 | ステータスを申請中に設定 | 承認ステータス：要求済み |
| 2 | Approvedと終了アクティビティの間 | ステータスを承認済みに設定 | 承認ステータス：承認済み |
| 3 | Rejectedと終了アクティビティの間 | ステータスを却下に設定 | 承認ステータス：却下 |

**開始と承認アクティビティの間**
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/c11d464e-d345-7386-409e-8ffa1d0ffa45.png)

**Approvedと終了アクティビティの間**
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/6822df10-a2ab-7e36-e2b2-7015bbc7efcf.png)

**Rejectedと終了アクティビティの間**
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/abbfb1fb-0ee3-9296-6694-ed60956a29d7.png)

最終的に以下のようになっていれば完了です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/fa69c122-b80a-7a82-f907-982ab5f46771.png)

# ワークフローを有効にする（公開）

ワークフローは有効化した後から動くようになる。

有効化をする前に、必ず**検証**を行う。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/3a2d9a76-d1d1-45bb-f011-8e81f8228cf7.png)

検証画面は以下のとおり。Warn(警告)やCritical(致命的問題)が0以外のときは、内容を確認し、出来る限り修正を行うことが推奨されている。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/a3dec9a1-4793-302d-e637-538f7d583b3e.png)

検証が終わったら**公開**を行う。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/f3a9ba3d-72a0-544e-83f1-d34eebc99a10.png)

ワークフロー名の横に**公開**と記載されていれば公開完了です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/175688/cb7fc57e-9127-7ec3-dfa7-a0359e197f52.png)

# Next
次回は今回作成したワークフローの動作を確認します。
私はデフォルト設定のみの承認機能では画面遷移が多く使いづらいと思っています。次々回あたりになると思いますが幾つかの改善方法についても紹介していきます。

# 参考サイト
> 『ServiceNow Developers ― Training』
https://developer.servicenow.com/app.do#!/training/landing