概要:ワークフローバージョニングIssue 概要: ワークフローバージョニング 目標 ワークフローバージョニングを導入する。チェックアウトと公開を体験する。更新セットでのバージョンを理解する サマリー ServiceNow のワークフローでは、既存のワークフローを安全に編集できるように自動化されたプロセスを展開する手段としてバージョニングを提供しています。バージョンは、チェックアウトと公開サイクル内で管理されます。 このプロセスは、ワークフロー、バージョンリスト、チェックアウト時にのみ編集可能なワークフローモデルの 3 つの部分で構成されています。 ワークフローでは、一度に 1 つだけバージョンを公開できます。公開バージョンは、ワークフローの条件を満たすすべての Glide レコードに対して実行されるバージョンです。 ワークフローでは、一度に 1 つだけバージョンをチェックアウトできます。チェックアウトバージョンは、ワークフローの条件を満たすすべての Glide レコードに対して実行されるバージョンであり、ワークフローをチェックアウト済みのユーザーのみが対象です。このチェックアウトプロセスにより、プロセスを安全に変更および更新できます。 ワークフローは、更新セットを介してインスタンス間で移行されます。公開されたワークフローのみが更新セットにプッシュされます。更新セットのコミットプロセスでは、コミットされたワークフローの他のすべてのバージョンを Published = false に設定することにより、更新セットにあるワークフローの公開バージョンがターゲットインスタンスで公開バージョンになるようにしています。Resolutionワークフローバージョニング ワークフローは、次の 3 つの部分で構成されています。 ワークフロー。テーブルに関連付けられています。ワークフローバージョン。条件、公開ステータス、および権限で特徴付けられます。ワークフローモデル。特定のバージョン内のワークフローアクティビティとその移行 (ライン) で構成されたワークフロー全体を指します。ワークフローは、更新セットを介してインスタンス間で移行されます。 ワークフローステータス ワークフローには、次の 3 つのステータスがあります。 公開:ワークフローは、ワークフローの条件を満たしているすべてのユーザーと Glide レコードで利用できます。未公開:ワークフローは、新しい Glide レコードでは使用できなくなりますが、既に実行中のレコードで必要になる場合があります。チェックアウト:ワークフローは、ワークフローをチェックアウト済みのユーザーに対してのみ実行できます。 更新セットの作成 ワークフローは、更新セットを介してインスタンス間で移行されます。このラボの目的に合わせて、K14 Workflow 101 という更新セットを作成します。ラボ全体を通して、ワークフローがどのように更新セットに公開されるかを見ていきます。更新セットを新しいインスタンスに移行する操作は行いません。 インスタンス間で更新セットを移行する方法の詳細については、ラボ「更新セット:コードをスムーズに移行するためのベストプラクティス」を参照してください。 アプリケーションナビゲーターで、 [フィルターテキストの入力] フィールドに「更新セット」と入力します。 [System Update Sets] > [ローカル更新セット] と移動します。ローカルという語は、インスタンスに既に存在する更新セットを表す場合に使用しています。[新規] をクリックします。次のようにフォームに入力します。名前:K14 Workflow 101現在の更新セット:Check [送信] をクリックします。バナーの右側にある [歯車メニュー] をクリックして作業内容を確認し、K14 Workflow 101 更新セットが現在のセットであることを確認します。 ワークフローバージョンの作成 [ワークフローエディター] タブを閉じます。作業が完了したら、このタブを閉じることをお勧めします。[ワークフローエディター] のタブは、閉じるまで開いたままになります。[ワークフロー] > [ワークフローエディター] を使用して、ワークフローエディターに戻ります。[歯車メニュー] > [新規ワークフロー] でワークフローを新規に作成します (なお [新規] をクリックしても作成できます)。名前:K14101 – Version Demo テーブル:インシデント [送信] をクリックします。 ワークフローキャンバスのヘッダーで、メニューバーのラベルを確認します。ワークフローの名前が先ほど [名前] フィールドに入力したとおりに表示され、その後に [自分がチェックアウト] というテキストが続きます。 チェックアウトされていることを示すワークフローは、ワークフローをチェックアウト済みのユーザーに対してのみ実行されます。これは新しいワークフローであるため、ワークフローのバージョンは 1 つだけであり、そのバージョンはワークフローをチェックアウト済みのユーザーに対してのみ実行されます。 ワークフローとそのワークフローバージョンの関係を確認するには、[ServiceNow] メインタブに戻ります。[ワークフローエディター] を閉じないでください。 [ワークフロー] > [ワークフローバージョン] と移動します。これは、このインスタンスに対してアクティブなワークフローバージョンをすべて記載したリストです。先ほど作成した K14101-Version Demo ワークフローを見つけます。 ここには、ワークフローレコードとワークフローバージョンの関連リストが表示されています。この場合、バージョンは 1 つだけです。 ワークフローバージョンレコードを見ると、次のような内容になっています。(1) [公開] = falseこのインスタンスでは、このワークフローを一般的な用途に利用できないことを示しています。(2) [チェックアウト担当者] = K14101 WFAdminワークフローバージョンの現在のエディターであり、このバージョンのワークフローの実行対象である唯一のユーザーを示しています。2 つ目の [ServiceNow] タブを再度選択して、ワークフローエディターに戻ります。[歯車メニュー] を使用して、[公開] を選択します。 注意:これ以降のラボでは、上記の手順を [歯車メニュー] > [公開] と省略します。 ワークフローのヘッダーは次のようになります。 [ServiceNow] メインタブに戻ります。ワークフローバージョンリストの [リストを更新] を実行します。そのためには、リストヘッダーでコンテキスト依存メニューを右クリックします。ワークフローバージョンの関連リストは次のようになります。 ワークフローバージョンレコードを見ると、次のような内容になっています。 (1) [公開] = true (このインスタンスでこのワークフローを使用できるようになったことを示します。)(2) [チェックアウト担当者] = 空欄 ワークフローバージョンのライフサイクル ワークフローは、[チェックアウト] > [公開] ステータスを使用して、同じインスタンス上で開発 -> QA -> 展開というライフサイクルを進んでいきます。 ServiceNow ベストプラクティスでは、ワークフローの開発 -> QA -> 展開というプロセスを少なくとも 2 つのインスタンス (開発 -> 本番)、場合によっては 3 つのインスタンス (開発 -> QA ->本番) にわたって管理します。ワークフローは、更新セットを介してインスタンス間で移行されます。ワークフローは、公開時に更新セットに追加されます。チェックアウトワークフローは、更新セットに含まれないため、開発やテストで非常に安全に利用できます。 [ServiceNow] メインタブに戻ります。 アプリケーションナビゲーターで、 [フィルターテキストの入力] フィールドに「更新セット」と入力します。[ローカル更新セット] を選択します。更新セットリストには、少なくとも次の更新セットが含まれている必要があります。 [K14 Workflow 101] 更新セットを選択します。[顧客アップデート] 関連リストまで下にスクロールします。 更新レコードを選択します。[ペイロード] フィールドに注目してください。[ペイロード] フィールドの内容は、ワークフローとその依存関係を移行するために必要なすべてのデータベースエントリの XML マッピングです。 ワークフローの編集と公開 [ワークフローエディター] タブに戻ります。[歯車メニュー] > [チェックアウト] を選択します。ワークフローヘッダーバーには、チェックアウトステータスが次のように再度反映されます。[ServiceNow] メインタブに戻ります。[ワークフロー] > [ワークフローバージョン] と移動します。リストで K14101 – Version Demo を見つけます。以前に公開されて K14 Workflow 101 更新セットに含まれているワークフローバージョンは、まだ変更されていません。また、このワークフローには別のバージョンも関連付けられています。 ワークフローエディターで先ほど作成したチェックアウトバージョンです。既に学んだように、このバージョンワークフローは K14WF Admin ユーザーに対してのみ実行されますが、既存の公開バージョンはワークフローの条件を満たすインスタンス上の他のすべてのユーザーに対して実行されます [ワークフローエディター] タブに戻ります。[歯車メニュー] > [公開] を選択します。[ServiceNow] メインタブに戻ります。ワークフローバージョンリストを更新します。K14101 – Version のバージョンが 1 つだけあることに注意してください。 元のワークフローに対して既に実行されているいずれのプロセスも、引き続きそのバージョンに対して実行されます。編集したバージョンが公開バージョンになります。ワークフローの条件を満たす新しい Glide レコードは、すべて新しいバージョンに対して実行されます。 新たに公開したワークフローを既存のレコードに適用することはできません。ワークフローエンジンは、レコードが挿入されたときに条件を評価し、適切なワークフローバージョンの ID を特定します。それ以降、ワークフローエンジンはバージョンの ID を参照するだけで済み、条件を参照する必要はありません。 その公開イベントが更新セットにどのような影響を与えたかを確認するには、次のようにします。 テキストフィルターに「更新セット」と入力します。[ローカル更新セット] を選択します。[K14 Workflow 101] 更新セットを選択します。[顧客アップデート] 関連リストまで下にスクロールします。 次の点に注意してください。 元のワークフローに UPDATE アクションが追加されました。 [公開] ステータスを true から false に変更するアクションです。 新たに公開されたバージョンは INSERT_OR_UPDATE です。 新たに公開されたワークフローを更新セットに新たに挿入するものです。 更新セットを新しいインスタンスに移行すると、コミットプロセスが機能して、コミットした更新セットにあるワークフローの公開バージョンが、ワークフローの条件を満たすすべてのユーザーおよび Glide レコードのインスタンス上で公開されるバージョンとなります。