バージョン:Rome
Flow Designer

Flow Designer:意思決定

記事 (1/10)

「Flow Designer:意思決定」の目的

このモジュールの内容は次のとおりです。

  • [意思決定] テーブルおよび [回答] テーブルの作成
  • [意思決定] フローロジックの操作

前提条件:このモジュールは、Flow Designer の以下のトピックに精通していることを前提としています。

  • フロー
  • アクション
  • フローロジック
  • フロー実行
  • フローテスト

Flow Designer については、「Flow Designer の使用」学習モジュールで学ぶことができます。

記事 (2/10)

この学習モジュールについて

重要:この学習モジュールの内容は、Quebec ServiceNow リリース用に最後に更新されたもので、Rome リリースでは更新されていません。Rome リリースとこの学習モジュールのコンテンツとの間に違いが見られる場合があります。

Asset Management Spoke アプリケーションは、アプリケーション作成の背後にある概念とプロセスを紹介し、デモンストレーションするために、この学習モジュール全体で使用されます。Asset Management Spoke アプリケーションは構築しません。

演習では、NeedIt アプリケーションを開発します。

演習は、次の 3 つの方法で示されます。

  • ナビゲーションペインの [演習] アイコン。
  • ページ上部の [演習] アイコンと「演習」という単語。
  • ページタイトルの「演習」または「課題」という単語。

ナビゲーションとページタイトルに、強調表示された演習ページのアイコンと演習プリフィックスが表示された、演習ページの上部。

NeedIt アプリケーションを使用すると、ユーザーは複数の部門からのサービスを要求できます。ソースコントロールを使用して、この学習モジュールに必要なすべての NeedIt アプリケーションファイルから始めます。

演習 (3/10)

演習:「Flow Designer:意思決定」モジュールのためにリポジトリをフォークしてアプリケーションをインポートする

ServiceNow は GitHub を使用して、開発者サイトの学習コンテンツをコピーして使用するアプリケーションリポジトリを提供します。リポジトリには、アプリケーションファイルの固定セットであるタグが含まれているため、部分的に構築されたアプリケーションを使用して作業を開始できます。ServiceNow が提供するリポジトリを個人開発者インスタンス (PDI) にコピーしてインポートすることで、モジュール内の実践的な演習に必要なすべてのファイルを取得できます。

注意:ServiceNow が開発者プログラムの学習コンテンツで GitHub を使用する方法の詳細と、リポジトリをフォークしてアプリケーションをインポートする方法に関するビデオを見るには、『GitHub ガイド』を参照してください。

この演習では、次のことを行います。

  1. ServiceNow リポジトリを GitHub アカウントにフォークします。
  2. リポジトリのフォークから PDI にアプリケーションをインポートします。

重要:リポジトリを既にフォークしてインポートしている場合は、次の演習に進み、タグから分岐を作成して、アプリケーションファイルを PDI にロードできます。モジュールを完了するには、NeedIt アプリケーションファイルが必要です。

リポジトリのフォーク

演習のこのセクションでは、開発者サイトの学習コンテンツで使用するアプリケーションリポジトリのパーソナルフォークを作成します。

  1. Web ブラウザーで、github.com を開きます。

  2. GitHub アカウントをお持ちの場合は、サインインします。お持ちでない場合は、新しいアカウントにサインアップします。

  3. サインインしたら、NeedIt リポジトリを開きます。

  4. [フォーク] ボタン (GitHub の [フォーク] ボタン) をクリックして、GitHub アカウントにリポジトリのコピーを作成します。

  5. 既にリポジトリをフォークしている場合は、ダイアログが表示されます。リポジトリを既にフォークしている場合は、次の演習に進みます。

    リポジトリは以前にフォークされている

  6. GitHub アカウントが複数の組織に属している場合は、GitHub でフォークを作成する場所を指定します。[Fork devtraining-application-release] ダイアログで、<お使いの GitHub ユーザー名> リンクを選択します。リポジトリのプライベートフォークを作成します。GitHub はリポジトリフォークのページを自動的にロードします。

    GitHub ユーザーが複数の組織に属している場合、GitHub はフォーク先を尋ねます。GitHub ユーザー名を選択します。

  7. リポジトリのフォークの URL が次のようになっているかを検証します:<お使いの GitHub ユーザー名>/devtraining-application-release

    フォークしたコピーは自動的にロードされます。

  8. フォークしたリポジトリの URL をコピーします。

    1. [コード] ボタンをクリックします。

    2. URL に ServiceNow ではなく GitHub ユーザー名が含まれていることを確認します。

    3. HTTPS が選択されていることを確認します。選択されていない場合は、[クローン] フライアウトで [HTTPS] タブを選択します。

    4. [クリップボードにコピー] ボタン ([クリップボードにコピー] ボタン) をクリックします。

      フォークしたリポジトリの URL をコピーする

      注意:次のセクションでは、コピーした URL を使用して、フォークしたリポジトリへの接続を設定します。

フォークしたリポジトリからアプリケーションをインポートします。

演習のこのセクションでは、アプリケーションリポジトリを ServiceNow にインポートします。プロセスの一環として、まず GitHub アカウントの資格情報レコードを作成してから、Studio を使用してアプリケーションリポジトリを PDI にインポートします。

  1. 管理者ユーザーとして PDI にログインします。PDI がない場合は、ServiceNow 開発者サイトを開いて Rome PDI を入手してください。

    注意:PDI の入手方法については、『個人開発者インスタンス (PDI) ガイド』を参照してください。

  2. GitHub 接続の資格情報レコードを作成します。

    重要:資格情報レコードを作成する必要があるのは 1 回だけです。別の演習で資格情報レコードを既に作成している場合は、この手順をスキップしてください。

    1. Application Navigator を使用して、[接続および資格情報] > [資格情報] を開きます。

    2. [新規] ボタンをクリックします。

    3. [作成する資格情報のタイプは?] リストで、[基本認証資格情報] リンクをクリックします。

    4. 資格情報レコードを設定します。

        名前 GitHub 資格情報 (GitHub Credentials) - <お使いの github.com ユーザー名>
        ユーザー名 <お使いの github.com ユーザー名>
        パスワード <お使いの github.com 個人アクセストークン>

      基本認証資格情報の新しいレコードフォーム。

      重要:GitHub では、ServiceNow などの他のプラットフォームからリポジトリにアクセスするには、個人アクセストークンが必要です。認証時には、パスワードの代わりに個人用アクセストークンが使用されます。GitHub パーソナルアクセストークンを作成する方法については、『GitHub ガイド』の「GitHub への認証」セクションを参照してください。

    5. [送信] ボタンをクリックします。

  3. Application Navigator を使用して [システムアプリケーション] > [Studio] を開きます。

    Studio アプリケーションを開きます。

  4. 新しいブラウザータブで Studio が開きます。

  5. [アプリケーションを選択] ダイアログで、[ソースコントロールからインポート] ボタンをクリックします。

    [ソースコントロールからインポート] ボタンをクリックします。

  6. [アプリケーションのインポート] ダイアログで、分岐したリポジトリへの接続を設定します。

      URL <リポジトリのフォークドバージョン用にコピーしたURL>
      資格情報 GitHub 資格情報 (GitHub Credentials) - <お使いの github.com ユーザー名>
      分岐 メイン (main)

    注意[分岐] の値を [メイン (main)] に変更すると、「デフォルトの命名規則を使用することを強くお勧めします」という情報メッセージが表示されます。[分岐] フィールドの値はリポジトリに存在する必要があります。開発者サイトのトレーニングリポジトリにはすべて [メイン (main)] 分岐があり、デフォルト値の代わりに使用する必要があります。

    github.com からコピーした URL を使用して、GitHub にフォークしたリポジトリへの接続を構成します。

  7. [インポート] ボタンをクリックします。

  8. アプリケーションのインポートが完了したら、[アプリケーションの選択] ボタンをクリックします。

    有効なリポジトリが存在する必要があります。

    注意:接続に失敗した場合は、フォークしたリポジトリ URL ではなく ServiceNow のリポジトリ URL を [URL] フィールドに入力しているか、あるいは GitHub アカウントで 2 要素認証を有効にしている可能性があります。接続のトラブルシューティング方法については、 「GitHub 問題のトラブルシューティング」を参照してください。

  9. [アプリケーションを選択] ダイアログで、Studio で編集するために、アプリケーションをクリックして開きます。

    重要:タグから分岐を正常に作成しないと、次の演習で Studio にアプリケーションファイルが表示されません。

演習 (4/10)

演習:Flow Designer:意思決定モジュールのブランチを作成する

この演習では、モジュールで使用するアプリケーションファイルを含む「Flow Designer:意思決定」モジュールのために、NeedIt アプリケーションの分岐を作成します。

注意:この演習を開始する前に、「演習:Flow Designer :意思決定モジュールのためにリポジトリをフォークしてアプリケーションをインポートする」で説明したように、NeedIt リポジトリをフォークしてインポートしておく必要があります。

  1. 前回の演習で NeedIt アプリケーションを Studio で開いていない場合は、ここで開きます。

    1. ServiceNow ブラウザーのメインウィンドウで、Application Navigator を使用して [システムアプリケーション] > [Studio] を開きます。
    2. [アプリケーションを選択] ダイアログで、NeedIt アプリケーションをクリックします。
  2. Studio で、[ソースコントロール] メニューを開き、[分岐を作成] メニューアイテムを選択します。

    [ソースコントロール] メニューおよび [分岐を作成 (Create Branch)] メニューアイテムを開きます。

  3. 分岐を構成します。

      分岐名 FlowDesignerDecisions
      タグから作成 LoadForFDDecisionsModule
  4. [分岐を作成] ボタンをクリックします。

  5. [閉じる] ボタンをクリックします。

  6. タグに含まれているアプリケーションファイルをロードするには、(Studio ではなく) ServiceNow ブラウザーのメインタブに戻り、ブラウザーの再ロードボタンをクリックしてページを更新します。

    注意:分岐の作成に失敗した場合は、フォークしたリポジトリ URL ではなく ServiceNow のリポジトリ URL を [URL] フィールドに入力しているか、あるいは GitHub アカウントで 2 要素認証を有効にしている可能性があります。GitHub 接続問題のトラブルシューティング方法については、『GitHub ガイド』の「GitHub 問題のトラブルシューティング」セクションを参照してください。

記事 (5/10)

フローでの意思決定

複数の条件付きパスが必要な状況では、ネストされた IfElse If、または Else フローロジックの代わりに、意思決定分岐を使用します。意思決定分岐により、フローでのロジックの構成方法が簡素化されます。

コスト、要求のタイプ、および既存の在庫または権利の可用性に基づいて、複雑な要求承認構造を検討します。以下のテーブルは、このような構造の例です。コスト、アイテムタイプ、および可用性は、必要な承認レベルを意思決定するために使用される入力です。たとえば、ユーザーが価格 3500 ドルの新しいラップトップを要求し、要求されたモデルが在庫にない場合、ディレクターが購入を承認する必要があります。

次の表は、ハードウェアの承認レベルをまとめたものです。

1,000 ドル未満のハードウェア要求には、マネージャーの承認のみが必要です。1000 ~ 5000 ドルのハードウェア要求には、在庫がある場合はマネージャーの承認が必要であり、在庫がない場合はディレクターの承認が必要です。5000 ~ 25000 ドルのハードウェア要求には、在庫がある場合はディレクターの承認が必要であり、在庫がない場合は VP の承認が必要です。25000 ドルを超えるハードウェア要求には、在庫がある場合は VP の承認が必要であり、在庫がない場合は CxO の承認が必要です。

次の表は、ソフトウェアの承認レベルをまとめたものです。

1,000 ドル未満のソフトウェア要求には、マネージャーの承認のみが必要です。1000 ~ 2500 ドルのソフトウェア要求には、権利がある場合はマネージャーの承認が必要であり、権利がない場合はディレクターの承認が必要です。2500 ~ 10000 ドルのソフトウェア要求には、権利がある場合はディレクターの承認が必要であり、権利がない場合は VP の承認が必要です。10000 ドルを超えるソフトウェア要求には、権利がある場合は VP の承認が必要であり、権利がない場合は CxO の承認が必要です。

IfElse IfElse のフローロジックを使用すると、要求を承認するフローは以下のように、ネストされたフローロジックの複雑な構造になります。

適切な承認を求めるための、複雑にネストされた If、Else If、Else の一連のフローロジック。

[意思決定] フローロジックを使用して、同じ複雑な承認ロジックを適用すると、フローがより管理しやすく、読みやすく、拡張しやすくなります。

「意思決定」フローロジックによる複雑な承認ロジックでは、意思決定テーブルを使用して、入力情報を回答にマッピングします。

意思決定コンポーネント

[意思決定] テーブルは、意思決定入力を意思決定にマッピングします。意思決定入力は、意思決定に必要な情報を指定する構成フィールドです。

承認の例から、[コスト]、[アイテムタイプ]、[可用性] の入力が、承認ポリシー意思決定テーブルを介してマネージャー、ディレクター、または VP の承認レベルにマッピングされます。

意思決定レコードは、1 つの回答に到達するために使用される条件のリストです。

[意思決定] テーブルは、[回答] テーブルに関連付けられています。[意思決定][回答] テーブルのレコードにマッピングされます。[回答] テーブルのレコードは、[意思決定] フローロジックの分岐です。

意思決定は、関連付けられた回答テーブルのレコードにマッピングされます。

記事 (6/10)

意思決定テーブルおよび回答テーブルの作成

[意思決定] テーブルレコードを作成する前に、目的の回答を特定します。

回答はテーブルに既に存在しますか?

  • その場合は、そのテーブルを [意思決定] テーブルで定義された [回答] テーブルの値として使用します。
  • そうでない場合は、[意思決定] テーブルを作成する前に回答のテーブルを作成します。新しいテーブルに意思決定回答を入力します。アプリケーションでテーブルを作成する方法の詳細については、『NeedIt アプリケーションの構築』トレーニングモジュールの「テーブル」を参照してください。

承認レベルの例のテーブルが存在しませんでした。カスタムテーブルには、各承認レベルのレコードがあります。

カスタム回答テーブルの [承認レベル] には、CxO、ディレクター、マネージャー、VP の 4 つの回答候補があります。

[意思決定] テーブルを作成するには、Application Navigator を使用して [システム定義] > [意思決定テーブル] を開きます。[新規] ボタンをクリックします。[意思決定] テーブルを構成します。

カスタム回答テーブルの [承認レベル] には、CxO、ディレクター、マネージャー、VP の 4 つの回答候補があります。

  • 名前:[意思決定] テーブルの名前を指定します。
  • [回答] テーブル:[回答] テーブルとして識別されたテーブルを選択します。
  • アプリケーション:[意思決定] テーブルのアプリケーションスコープを選択します。
  • アクセス可能スコープ:「このアプリケーションスコープのみ」、「すべてのアプリケーションスコープ」から選択します。[意思決定] テーブルを使用できるスコープを指定します。

[他のアクション] ([他のアクション] メニュー。) メニューをクリックして、[保存] メニューアイテムを選択します。

意思決定の入力を追加

意思決定に必要な入力ごとに意思決定入力レコードを作成します。[意思決定入力] 関連リストで [新規] ボタンをクリックします。テーブルの他のフィールドと同じ方法で意思決定入力を構成します。構成フィールドは、入力タイプによって異なります。

新規の [意思決定入力] フォーム。

  • 名前:意思決定入力のための [意思決定] テーブルの [名前] は自動的に入力され、変更できません。
  • タイプ:意思決定入力のデータタイプを選択します。
  • ラベル:意思決定入力のラベルを入力します。開発者には、Flow Designer の [意思決定] フローロジック構成の [ラベル] が表示されます。
  • 列名:意思決定入力のデータベース名を指定します。[列名] は自動的に生成されますが、変更することができます。

意思決定入力は、Flow Designer の[意思決定] フローロジックを作成するための構成オプションです。関連リストで [注文] を設定し、[意思決定] フローロジックの意思決定入力の順序を構成します。

関連リスト内で、また「意思決定」フローロジック使用時に表示される [意思決定入力]。

意思決定を追加

意思決定レコードを作成して、意思決定入力値を[回答] テーブル のレコードにマッピングします。[意思決定] 関連リストで [新規] ボタンをクリックします。意思決定を構成します。

新規の [意思決定] フォーム。

  • ラベル:意思決定のラベルを入力します。
  • 順序:意思決定を評価する順序を指定します。番号の小さい順に評価されます。フロー内の回答ブランチは、構成された順序で評価されます。
  • アプリケーション意思決定が作成されるアプリケーション。
  • 回答[回答] テーブルからレコードを選択して、意思決定にマッピングします。複数の意思決定が、同じ回答レコードを指す場合があります。[リストからドキュメントを参照] ([リストからドキュメントを参照] ボタン。) ボタンをクリックして、[ドキュメント] フィールドの回答レコードを選択します。

回答レコードを選択するためのダイアログ。

  • デフォルトの回答:他に一致する決定がない場合、この回答を決定のデフォルトとして使用します。
  • 条件:意思決定を行うための意思決定入力に適用する条件を選択します。

一意の各回答レコードが意思決定にマッピングされます。複数の意思決定が同じ回答レコードを指している場合、回答は 1 回だけ分岐します。

関連リスト内で、また「意思決定」フローロジックのブランチとして表示される回答。

記事 (7/10)

意思決定ブランチの追加

[意思決定] フローロジックをフローに追加するには:

  1. [アクション、フローロジック、またはサブフローを追加] リンクをクリックします。
  2. [フローロジック] ボタンをクリックします。
  3. [意思決定] メニューアイテムを選択します。

意思決定分岐を構成します。

意思決定フローロジックの構成には、意思決定テーブルと意思決定回答を把握する必要があります。

  • 意思決定ラベル:意思決定のわかりやすいラベルを入力します。
  • 意思決定テーブル:意思決定に使用する [意思決定] テーブルレコードを選択します。
  • 実行:複数の一致する回答の処理方法を選択します。
    • 一致する最初の意思決定:最初に一致した意思決定の分岐のみを実行します。
    • 一致するすべての意思決定を実行:一致する意思決定のすべての分岐を実行します。
  • 分岐の使用:利用可能な意思決定ごとに分岐を使用するかどうかを選択します。
  • それ以外を含める:他の分岐が実行されない状況を処理するために、「それ以外」の分岐を追加します。
  • [意思決定] テーブル入力:選択した [意思決定] テーブルに関連付けられた意思決定入力。この例では、[意思決定] テーブルには、「コスト」、「アイテムタイプ」、「利用可能」の 3 つの入力があります。

意思決定分岐にアクションや追加のフローロジックを追加するには、分岐の [アクションまたはフローロジックを追加] ボタンをクリックします。アクションを構成します。意思決定ブランチで、回答レコードを変数として使用できるようになってから追加されたアクション。

プラスボタンで意思決定アクションを追加します。

分岐するかどうか

意思決定から分岐することで、開発者はさまざまなロジックやプロセスをさまざまな状況に適用できます。この例では、承認ポリシーのプロセスは、必要な承認レベルに応じてわずかに異なります。マネージャーまたはディレクターの承認が必要な場合、必要なアクションは承認のみです。より高いレベルの承認では、追加の手順が必要です。

フローには、異なる承認ブランチごとに異なるプロセスがあります。マネージャーとディレクターの承認には、承認のみが必要です。VP 承認には、少なくとも 3 つのベンダーから見積もりを取得するタスクも含まれています。CxO 承認には、要求者が購入の理由を送信するタスク、2 つの承認レベル、見積もりを取得して資金を確保するタスクが含まれています。

プロセスが各意思決定で同じであり、回答を変数として使用できる場合は、[意思決定] フローロジックの作成に分岐は必要ありません。たとえば、意思決定テーブルが承認のグループを識別し、グループを承認者として承認を設定するだけでよい場合、ブランチなしでプロセスは簡単になります。

画像の左側は、[分岐を使用] が選択された意思決定フローロジックを示しています。各ブランチには、各ブランチで同じ [承認の要求] アクションがあります。右側には同じプロセスでも [分岐を使用] が選択されていないものが表示されています。[承認の要求] アクションでは、意思決定から返された情報を使用して、承認を実行するグループを識別します。

分岐を削除するには、[分岐を使用] オプションをオフにします。確認を求めるダイアログが表示されます。[削除] ボタンをクリックして、分岐を削除します。

[変更] ダイアログには、次のように表示されます:「変更しようとしているアイテムは、以下のフィールドで参照されています。変更すると、参照が削除されます。[分岐を使用] オフにすると、すべての意思決定ブロックとそのアクションがクリアされます。」

[意思決定] 分岐の変数は、分岐が実行しない可能性があるため、分岐の外部では使用できません。この例では、各 [意思決定] 分岐が、[承認の要求] アクションの結果を個別に処理する必要があります。画像が制御不能になるのを防ぐため、If フローロジックは含まれていません。

「意思決定」フローロジックの各ブランチの承認は、ブランチで処理する必要があります。

開発者はいつブランチを使用する必要がありますか?

  • 意思決定ごとにプロセスが異なる場合は、ブランチを使用します。
  • プロセス内のアクションを意思決定のデータで構成できない場合は、ブランチを使用します。
  • 意思決定テーブルにある意思決定数が多い (10 を超える) 場合は、ブランチを避けてください。各意思決定ブランチは個別に構成する必要があり、多くのブランチがあって作業が面倒になる可能性があります。
  • テーブルの意思決定内容が変更される可能性がある場合は、ブランチを避けてください。意思決定が変更された場合は、フローを更新して新しい意思決定のブランチを含める必要があります。
  • フローで意思決定のデータを使用する必要がある場合は、ブランチを回避します。

最初またはすべてを実行

デフォルトでは、一致する最初の意思決定に対して [意思決定] フローロジックが実行され、意思決定の処理が停止されます。フローロジックで一致するすべての意思決定を実行する必要がある場合は、[実行] の値を [一致するすべての意思決定を実行] に設定します。一致するすべての意思決定の実行は、ブランチに関係なく機能します。

[分岐を使用] を選択すると、一致する各意思決定の分岐が実行されます。

[分岐を使用] が選択されていない場合、[意思決定] フローロジックは回答レコードのリストを返します。[For Each] フローロジックを使用して、返された各回答を循環します。この例では、[意思決定] フローロジックは、分岐を使用せず、一致するすべての意思決定を実行するように構成されています。[承認レベルレコード] データピルは、返されたすべての意思決定のリストです。[For Each] フローロジックは、返された各意思決定を循環し、複数の決定が返されている場合は複数の承認を生成します。

「各」フローロジックで「意思決定」フローロジックのレコードデータピルを使用して、返された各意思決定に対処します。

演習 (8/10)

演習:意思決定

この演習では、NeedIt 要求レコードの詳細を使用して、関連付けられた NeedIt タスクを誰に割り当てるかを決定する [意思決定] テーブルレコードを作成します。テーブルは、NeedIt レコードの詳細をアサイニーカテゴリにマッピングし、アサインします。たとえば、[必要なもの (What needed)][優先度] を持つ [施設サービス 1 (Facilities 1)] である施設サービスの NeedIt 要求には、[アサイニーカテゴリ (Assignee category)] が [施設サービス 1 (Facilities 1)][アサイニー (Assignee)] が [Howard Johnson]NeedIt タスクが必要です。

[要求タイプ (Request type)]、[必要なもの (What needed)]、および [優先度 (Priority)] に基づいて、意思決定によってアサイニーのレベルと担当者が決定されます。

次に、意思決定に基づいて分岐するように [NeedIt の実行 (Fulfillment)] フローを更新し、[意思決定] フローロジックからの情報を使用して、NeedIt タスクを作成します。

回答テーブルを作成

演習のこのセクションでは、アサイニーカテゴリを定義し、ユーザーをアサイニーカテゴリレコードに関連付けるテーブルを作成します。別のテーブルを使用すると、意思決定の抽象化レイヤーが追加されます。アサイニーが変更された場合は、フローの代わりにテーブルを更新します。

  1. NeedIt アプリケーションが Studio で開かれていない場合は、ここで開きます。

    1. ServiceNow ブラウザーのメインウィンドウで、Application Navigator を使用して [システムアプリケーション] > [Studio] を開きます。
    2. [アプリケーションを選択] ダイアログで、NeedIt アプリケーションをクリックします。
  2. テーブルを NeedIt アプリケーションに追加します。

    1. Studio で [アプリケーションファイルを作成] リンクをクリックします。

    2. [フィルター...] フィールドにテキスト「テーブル」を入力するか、左ペインのカテゴリから [データモデル] を選択します。

    3. 中央ペインからファイルタイプとして [テーブル] を選択し、[作成] ボタンをクリックします。

    4. テーブルを構成します。

        ラベル アサイニーカテゴリ (Assignee Category)
        名前 (このフィールド値は自動的に作成されます)
        モジュールの作成 選択済み (オン)
        モバイルモジュールの作成 選択済み (オン)
        モジュールをメニューに追加 NeedIt
    5. [コントロール] セクション (タブ) に切り替えて、コントロールを設定します。

        アクセス制御の作成 (このフィールドは、スコープ対象のアプリケーションに対して選択する必要があります。)
        ユーザーロール x_58872_needit.needit_user
  3. [送信] ボタンをクリックして、テーブルを保存します。

  4. [列] セクション (タブ) に切り替えて、新しい行を追加します。

    1. [カテゴリ名] 行を追加します。
      1. [新規行を挿入] をダブルクリックします。
      2. [列ラベル] の値を [カテゴリ名] に設定します。
      3. キーボードの <tab> キーを押します。
      4. [タイプ] の値を [文字列] に設定します。
      5. キーボードの <return> (enter) キーを押します。
      6. [表示] 列で false をダブルクリックし、値を true に変更します。
      7. キーボードの <return> (enter) キーを押します。
    2. [アサイニー (Assignee)] 行を追加します。
      1. [新規行を挿入] をダブルクリックします。
      2. [列ラベル] の値を [アサイニー (Assignee)] に設定します。
      3. キーボードの <tab> キーを押します。
      4. [タイプ] の値を [参照] に設定します。
      5. キーボードの <tab> キーを押します。
      6. 参照値をユーザー [sys_user] に設定します。
      7. キーボードの <return> (enter) キーを押します。
  5. [更新] ボタンをクリックします。

  6. [アサイニーカテゴリ (Assignee Category)] テーブルにレコードを作成します。

    1. 関連リンクの下の [リストを表示] をクリックします。
    2. [新規] ボタンをクリックします。
    3. アサイニーカテゴリを設定します。
        アサイニー Savannah Kesich
        カテゴリ名 高優先度法務 (High Priority Legal)
    4. [送信] ボタンをクリックします。
    5. このプロセスを繰り返して、別のアサイニーカテゴリを作成します。
        アサイニー Charlie Whitherspoon
        カテゴリ名 法務 1 (Legal 1)
    6. このプロセスを繰り返して、別のアサイニーカテゴリを作成します。
        アサイニー Bernard Laboy
        カテゴリ名 法務 2 (Legal 2)
    7. このプロセスを繰り返して、別のアサイニーカテゴリを作成します。
        アサイニー Howard Johnson
        カテゴリ名 施設サービス 1 (Facilities 1)
    8. このプロセスを繰り返して、別のアサイニーカテゴリを作成します。
        アサイニー Luke Wilson
        カテゴリ名 施設サービス 2 (Facilities 2)
    9. このプロセスを繰り返して、別のアサイニーカテゴリを作成します。
        アサイニー Beth Anglin
        カテゴリ名 人事 (Human Resources)

意思決定テーブルを作成

  1. ServiceNow のメインウィンドウで、Application Navigator を使用して [システム定義] > [意思決定テーブル] を開きます。
  2. [新規] ボタンをクリックします。
  3. [意思決定] テーブルを構成します。
      名前 アサイニーカテゴリの決定 (Assignee Category Decision)
      [回答] テーブル アサイニーカテゴリ[x_58872_needit_assignee_category]
  4. [他のアクション] ([他のアクション] メニュー。) メニューをクリックして、[保存] メニューアイテムを選択します。

意思決定入力を作成

この演習セクションでは、[要求タイプ (Request type)][必要なもの (What needed)]、および [優先度 (Priority)][意思決定入力] を作成します。

  1. [要求タイプ (Request type)] の意思決定入力を作成します。
    1. [意思決定入力] 関連リストで [新規] ボタンをクリックします。
    2. 意思決定入力を構成します。
        タイプ 選択
        ラベル 要求タイプ (Request type)
        列名 (この値は自動的に入力されます)
    3. [他のアクション] ([他のアクション] メニュー。) メニューをクリックして、[保存] メニューアイテムを選択します。
    4. [要求タイプ (Request type)] フィールドの選択肢を作成します。
      1. [選択肢] 関連リストで [新規] ボタンをクリックします。
      2. 選択肢を構成します。
          ラベル 法務 (Legal)
          legal
      3. [送信] ボタンをクリックします。
      4. さらに 2 つの選択肢を作成します。
        1. 施設サービス:
            ラベル 施設サービス (Facilities)
            facilities
        2. 人事:
            ラベル 人事 (Human Resources)
            hr
    5. 意思決定入力レコードで、[更新] ボタンをクリックして [意思決定] テーブルに戻ります。
  2. [必要なもの (What needed)] 意思決定入力を作成します。
    1. 意思決定入力構成:
        タイプ 選択
        ラベル 必要なもの (What needed)
        列名 (この値は自動的に入力されます)
    2. 選択肢の構成:
      1. 法務 1:
          ラベル 法務 1 (Legal 1)
          legal1
      2. 法務 2:
          ラベル 法務 2 (Legal 2)
          legal2
      3. 施設サービス 1:
          ラベル 施設サービス 1 (Facilities 1)
          facilities1
      4. 施設サービス 2:
          ラベル 施設サービス 2 (Facilities 2)
          facilities2
      5. 人事 1:
          ラベル 人事 1 (Human Resources 1)
          hr1
      6. 人事 2:
          ラベル 人事 2 (Human Resources 2)
          hr2
      7. その他:
          ラベル その他 (Other)
          other
  3. [優先度 (Priority)] 意思決定入力を作成します。
    1. 意思決定入力構成:
        タイプ 選択
        ラベル 優先度 (Priority)
        列名 (この値は自動的に入力されます)
    2. 選択肢の構成:
      1. 1 - 重大:
          ラベル 1 - 重大 (1 - Critical)
          1
      2. 2 - 高:
          ラベル 2 - 高 (2 - High)
          2
      3. 3 - 中:
          ラベル 3 - 中 (3 - Moderate)
          3
      4. 4 - 低:
          ラベル 4 - 低 (4 - Low)
          4
      5. 5 - 計画中:
          ラベル 5 - 計画中 (5 - Planning)
          5
  4. 意思決定入力ごとに [順序] を設定します。
      要求タイプ (Request type) 100
      必要なもの (What needed) 200
      優先度 (Priority) 300

意思決定を作成

この演習セクションでは、各アサイニーカテゴリ意思決定レコードを作成します。

  1. [高優先度法務 (High Priority Legal)] の意思決定を作成します。

    1. [意思決定] 関連リストで [新規] ボタンをクリックします。

    2. 意思決定を構成します。

        ラベル 高優先度法務 (High Priority Legal)
        順序 100
        条件 [要求タイプ (Request type)] [次の値に等しい] [法務 (Legal)] AND
        [優先度 (Priority)] [次の値に等しい] [1 - 重大 (1 - Critical)] OR
        [優先度 (Priority)] [次の値に等しい] [2 - 高 (2 - High)]
    3. 意思決定に対する回答を構成します。

      1. [リストからドキュメントを参照] ([リストからドキュメントを参照] ボタン。) ボタン。

      2. ダイアログで、[ドキュメント] の値を [高優先度法務 (High Priority Legal)] に設定します。

      3. [OK] ボタンをクリックします。

        構成が完了した [高優先度法務 (High Priority Legal)] の意思決定レコード。

    4. [送信] ボタンをクリックします。

  2. [法務 1 (Legal 1)] の意思決定を作成します。

    1. 意思決定構成:

        ラベル 法務 1 (Legal 1)
        順序 200
        回答 アサイニーカテゴリ:法務 1 (Assignee Category: Legal 1)
        条件 [要求タイプ (Request type)] [次の値に等しい] [法務 (Legal)] AND
        [必要なもの (What needed)] [次のいずれか] [法務 1、その他 (Legal 1, Other)] AND
        [優先度] (Priority) [次のいずれか] [3 - 中、4 - 低、5 - 計画中 (3 - Moderate, 4 - Low, 5 - Planning)]

      構成が完了した [法務 1 (Legal 1)] の意思決定レコード。

    2. [送信] ボタンをクリックします。

  3. 演習の初めに作成したテーブルを使用して、残りの 4 つの意思決定レコードを作成します。意思決定レコードごとに注文を 100 単位で増やします。

    構成が完了した意思決定レコードのリスト。

意思決定フローロジックをフローに追加

演習のこのセクションでは、[NeedIt の実行 (NeedIt Fulfillment)] フローに [意思決定] フローロジックを追加します。このフローにより、アサイニーカテゴリ値に基づいて適切なユーザーにアサインされた NeedIt タスクが作成されます。

  1. Flow Designer で [NeedIt の実行 (NeedIt Fulfillment)] フローを開きます。

  2. [意思決定] フローロジックを追加します。

    1. [4 - レコード更新の後にアクション、フローロジック、またはサブフローを追加 (Add Action, Flow Logic, or Subflow after 4 - Update Record)] ボタンをクリックします。
    2. [フローロジック] ボタンをクリックし、[意思決定] メニューアイテムを選択します。
  3. [意思決定] フローロジックを構成します。

      意思決定ラベルアサイニーとカテゴリを取得 (Get Assignee and Category)
      [意思決定] テーブルアサイニーカテゴリの決定 (Assignee Category Decision)
      要求タイプ (Request type):[データ] パネルまたは [データピルピッカー] ボタンを使用して、フィールド値を (4 ▸NeedIt レコード) に設定します。
      必要なもの (Request type):[データ] パネルまたは [データピルピッカー] ボタンを使用して、フィールド値を (4 ▸NeedIt レコード) に設定します。
      優先度 (Priority):[データ] パネルまたは [データピルピッカー] ボタンを使用して、フィールド値を (4 ▸NeedIt レコード) に設定します。

    質問[意思決定] フローロジックからどのような分岐を利用できますか?

    回答意思決定レコードに関連付けられた各アサイニーカテゴリには、[意思決定] フローロジックに分岐があります。

    カテゴリは、[高優先度法務 (High Priority Legal)]、[法務 1 (Legal 1)]、[法務 2 (Legal 2)]、[施設サービス 1 (Facilities 1)]、[施設サービス 2 (Facilities 2)]、および [人事 (Human Resources)] です。

  4. [分岐を使用][未選択 (オフ)] に設定します。

  5. [変更] ダイアログのメッセージを読み、[削除] ボタンをクリックします。

  6. [完了] ボタンをクリックします。

  7. [保存] ボタンをクリックします。

NeedIt タスクを作成

この演習セクションでは、意思決定のデータを使用して、NeedIt タスクを作成します。

  1. [5 - 意思決定後にアクション、フローロジック、またはサブフローを追加 (Add Action, Flow Logic, or Subflow after 5 - Make a decision)] ボタンをクリックします。

  2. [アクション] ボタンをクリックします。

  3. [タスクの作成] アクションを選択します。

  4. テーブル構成を NeedIt タスク [x_58872_needit_needit_task] に設定します。

  5. NeedIt タスクNeedIt レコードに関連付けます。

    1. [+ フィールド値を追加] ボタンをクリックします。
    2. NeedIt フィールドを選択します。
    3. [データ] パネルまたは [データピルピッカー] ボタンを使用して、フィールド値を (4 ▸NeedIt レコード) に設定します。
  6. NeedIt タスク[アサイン先] フィールド値を設定します。

    1. [+ フィールド値を追加] ボタンをクリックします。
    2. [アサイン先] フィールドを選択します。
    3. アサイニーを (5 ▸ アサイニーカテゴリレコード ▸ アサイニー) に設定します。
  7. NeedIt タスク[期日] フィールド値を設定します。

    1. [+ フィールド値を追加] ボタンをクリックします。
    2. [期日] フィールドを選択します。
    3. フィールド値を (4 ▸ NeedIt レコード ▸ 必要な場合) に設定します。
  8. NeedIt タスク[簡単な説明] フィールド値を設定します。

    1. [+ フィールド値を追加] ボタンをクリックします。

    2. [簡単な説明] フィールドを選択します。

    3. [簡単な説明] の値を [(5 ▸ アサイニーカテゴリレコード ▸ カテゴリ名) NeedIt タスクの完了 (Complete (5 ▸ Assignee Category Record ▸ Category name) NeedIt Task)] に設定します。

      完全に構成されたタスク作成アクション。

  9. [完了] ボタンをクリックします。

  10. アクションに注釈を追加します。

    1. [注釈を追加] アイコン ([注釈を追加] アイコン)。
    2. 分類されアサインされた NeedIt タスクを作成」というテキストを入力し、キーボードの <return> (enter) を押します。
  11. [保存] ボタンをクリックします。

フローをテストする

  1. テストする各意思決定の NeedIt レコードを作成します:高優先度法務 (High Priority Legal)施設サービス 1 (Facilites 1)、および人事 (Human Resources)

    1. NeedIt レコードの [要求先] の値を Adela Cervantsz に設定します。

    2. [必要な場合] の日付を将来の日付に設定します。

      質問[高優先度法務 (High Priority Legal)][施設サービス 1 (Facilites 1)]、および [人事 (Human Resources)] の意思決定をテストするために、NeedIt レコードで他にどのようなフィールドを設定する必要がありますか?

      回答[高優先度法務 (High Priority Legal)] の意思決定をテストするには、[要求タイプ (Request type)] 値が [法務 (Legal)] であり、[優先度 (Priority)] 値が [1 - 重大 (1 - Critical)] または [2 - 高 (2 - High)] である必要があります。[施設サービス 1 (Facilities 1)] の意思決定をテストするには、[要求タイプ (Request type)] の値を [施設サービス (Facilities)] にし、[必要なもの (What needed)] の値を [施設サービス 1 (Facilities 1)] にする必要があります。[人事 (Human Resources)] の意思決定をテストするには、[要求タイプ (Request type)] の値を [人事 (Human Resources)] にする必要があります。

    3. NeedIt レコードの番号をメモします。

      フローをテストするために作成されたレコード。

  2. Flow Designer で各要求に対してテストを実行します。

    1. [テストフロー] ダイアログを使用して、各レコードに対してテストします。
    2. いずれかのテスト実行の実行詳細を調べて、承認待ちであることを確認します。
  3. 別のブラウザーで Fred Luddy の代理操作機能により、要求を承認します。

  4. システム管理者として、フロー実行の詳細を更新して確認します。フローは完了しているはずです。

    フロー実行が完了しました。一部のアクションが実行されませんでした。

  5. 開いている NeedIt タスクを表示します。

    1. ServiceNow のメインウィンドウで、Application Navigator を使用して [NeedIt] > [NeedIt タスク] を開きます。

    2. 新しく作成された NeedIt タスクを見つけます。

      フローがテストされたときに作成された新しい NeedIt タスク。

  6. テストが完了したら、Flow Designer を閉じます。

演習 (9/10)

演習:「Flow Designer:意思決定」作業を保存する (オプション)

開発者は、GitHub のようなソースコントロールアプリケーションを使用して、個人開発者インスタンス (PDI) の外部で変更をコミット (完了した作業を保存) できます。アプリケーションに対する変更内容をコミットして、作業をソースコントロールに保存します。

この演習では、このモジュールで完了した作業を GitHub リポジトリに保存します。

注意:ServiceNow が開発者プログラムの学習コンテンツで GitHub を使用する方法の詳細と、作業を保存する方法に関するビデオを見るには、『GitHub ガイド』を参照してください。

変更をコミット (Commit Changes)

  1. NeedIt アプリケーションが Studio で開かれていない場合は、ここで開きます。

    1. ServiceNow ブラウザーのメインウィンドウで、Application Navigator を使用して [システムアプリケーション] > [Studio] を開きます。

    2. [アプリケーションを選択] ダイアログで、このアプリケーションをクリックします。

  2. [ソースコントロール] メニューを開き、[変更をコミット] メニューアイテムを選択します。

    [変更をコミット (Commit Changes)] メニューアイテムを選択

  3. コミットする更新を選択します。

    1. [<アプリケーション> のソースコントロールにコミットするファイルを選択] ダイアログで、[すべての Update Sets] を選択します。
    2. コミットするアプリケーションファイルを確認します。
    3. [続行] ボタンをクリックします。

    ソースコントロールにコミットするファイルを選択します

  4. [NeedIt のソースコントロールにコミットするファイルを確認] ダイアログで、「Flow Designer:完了した意思決定モジュール」などの [コミットのコメント] を入力します。

  5. [コミットファイル] ボタンをクリックします。

    コミットメッセージを入力

  6. [変更をコミット] ダイアログが成功を報告したら、[閉じる] ボタンをクリックします。

    変更が正常にコミットされました

    注意:変更のコミットに失敗した場合は、フォークしたリポジトリ URL ではなく ServiceNow のリポジトリ URL を [URL] フィールドに入力している可能性があります。GitHub 接続問題のトラブルシューティング方法については、『GitHub ガイド』の 「GitHub 問題のトラブルシューティング」を参照してください。

記事 (10/10)

「Flow Designer:意思決定」のまとめ

コアコンセプト:

  • [意思決定]フローロジックには以下が必要です。
    • [意思決定] テーブル
    • [回答] テーブル
  • 意思決定入力 は、[意思決定] フローロジックの構成オプションです。
  • 意思決定レコードを構成して、意思決定入力値を [回答] テーブルのレコードにマッピングします。
  • 一意の各回答レコードが [意思決定] フローロジックの分岐にマッピングされます。