記事 (1/33)
このモジュールでは、次のことを学習します。
記事 (2/33)
重要:この学習モジュールの内容は、Quebec ServiceNow リリース用に最後に更新されたもので、Rome リリースでは更新されていません。Rome リリースとこの学習モジュールのコンテンツとの間に違いが見られる場合があります。
Asset Management Spoke アプリケーションは、アプリケーション作成の背後にある概念とプロセスを紹介し、デモンストレーションするために、この学習モジュール全体で使用されます。Asset Management Spoke アプリケーションは構築しません。
演習では、NeedIt アプリケーションを開発します。
演習は、次の 3 つの方法で示されます。
NeedIt アプリケーションを使用すると、ユーザーは複数の部門からのサービスを要求できます。ソースコントロールを使用して、この学習モジュールに必要なすべての NeedIt アプリケーションファイルから始めます。
演習 (3/33)
ServiceNow は GitHub を使用して、開発者サイトの学習コンテンツをコピーして使用するアプリケーションリポジトリを提供します。リポジトリには、アプリケーションファイルの固定セットであるタグが含まれているため、部分的に構築されたアプリケーションを使用して作業を開始できます。ServiceNow が提供するリポジトリを個人開発者インスタンス (PDI) にコピーしてインポートすることで、モジュール内の実践的な演習に必要なすべてのファイルを取得できます。
注意:ServiceNow が開発者プログラムの学習コンテンツで GitHub を使用する方法の詳細と、リポジトリをフォークしてアプリケーションをインポートする方法に関するビデオを見るには、『GitHub ガイド』を参照してください。
この演習では、次のことを行います。
重要:リポジトリを既にフォークしてインポートしている場合は、次の演習に進み、タグから分岐を作成して、アプリケーションファイルを PDI にロードできます。モジュールを完了するには、NeedIt アプリケーションファイルが必要です。
演習のこのセクションでは、開発者サイトの学習コンテンツで使用するアプリケーションリポジトリのパーソナルフォークを作成します。
演習のこのセクションでは、アプリケーションリポジトリを ServiceNow にインポートします。プロセスの一環として、まず GitHub アカウントの資格情報レコードを作成してから、Studio を使用してアプリケーションリポジトリを PDI にインポートします。
演習 (4/33)
この演習では、モジュールで使用するアプリケーションファイルを含む「Flow Designer の開発」モジュールのために、NeedIt アプリケーションの分岐を作成します。
注意:この演習を開始する前に、「演習:「Flow Designer の開発」モジュールのためにリポジトリをフォークしてアプリケーションをインポートする」で説明したように、NeedIt リポジトリをフォークしてインポートしておく必要があります。
記事 (5/33)
スポークとは、Flow Designer のカスタムアクションまたはサブフローを含むスコープ対象のアプリケーションのことです。スポークは、関連するアクション、サブフロー、およびアプリケーションファイルの論理的グループです。開発者は、スポークロジックを独自のアプリケーションで再利用できます。Flow Designer にはベースラインスポークが含まれています。
たとえば、Visual Task Boards (VTB) スポーク には、VTB ボード、レーン、およびカードを管理するカスタムアクションが含まれています。開発者は、自身のアプリケーションで VTB スポークアクションを使用して、フリーフォーム VTB の作成、VTB メンバー (ユーザー) の管理、VTB へのレーンの追加、および VTB 上のカードの移動を行うことができます。
ServiceNow プラグインには、プラグイン固有の機能を提供するフローを作成するスポークが含まれています。たとえば、Security Operations Management プラグインには、Security Incident Response プロセスを管理するアクションを持つ Security Operations スポークが含まれています。Field Service Management および Security Operations には、スポークも含まれています。
Slack や HipChat などのサードパーティアプリケーションとデータ連携するスポークは、IntegrationHub スポークです。IntegrationHub スポークにはサブスクリプションが必要です。
スポークを作成するプロセスは、スコープ対象のアプリケーションを作成するプロセスと同じです。
開発者向けのヒント:慣例により、アプリケーション名に「Spoke」という単語を追加して、アプリケーションをスポークとして識別します。
アプリケーションにカスタムアクションを作成します。
[アクション選択] ペインのアクションは、スポークごとにグループ化されています。[アクション選択] ペインには、スコープのアプリケーション名が「Spoke」という単語なしで一覧表示されます。
記事 (6/33)
アクションは、フローによって実行される操作です。コアアクションには、[承認の要求]、[レコードの作成]、[ログ]、および [メールの送信] が含まれます。開発者は、一般的な操作またはカスタムアプリケーションに固有の操作を実行するカスタムアクションを作成できます。
アクションの構成要素は次のとおりです。
記事 (7/33)
action_designer ロールまたは admin ロールを持つユーザーは、カスタムアクションを作成して保存できます。
Flow Designer のランディングページからアクションを作成するには、[新規] ボタンをクリックして [アクション] メニューアイテムを選択します。
別の Flow Designer からアクションを作成するには、[フロー、サブフロー、またはアクションを作成] ボタン () をクリックし、[アクション] メニューアイテムを選択します。
Studio でアクションを作成するには:
Flow Designer が新しいブラウザウィンドウで開きます。新しいアクションを構成します。
以下のようにアクションプロパティを構成します。
開発者向けのヒント:アクション名にはスペースを使用できます。アクションには分かりやすい名前を使用します。
記事 (8/33)
アクションデザイナーを使用してアクションを編集します。編集中のアクションごとに個別の [アクションデザイナー] タブが開きます。
ステップを追加するには、[新しいステップを追加] ボタン () をクリックします。
ステップを削除するには、[アクションアウトライン] パネルでステップを選択し、そのステップの [このステップを削除] アイコン () をクリックします。
注意:ステップは、いったん追加されるとアクションで並べ替えることはできません。削除して再作成する必要があります。
[アクションに追加するステップを選択] ダイアログを使用して、実行する操作を選択します。
ステップを選択し、名前とステップオプションを構成します。構成オプションはステップタイプによって異なります。ServiceNow ドキュメントサイトには、ステップ構成オプションの詳細が記載されています。アクションデザイナーのドキュメントでステップタイプをクリックすると、構成オプションが表示されます。
開発者向けのヒント:ステップの名前を変更して、ステップの目的を詳しく記述します。ステップ名をクリックして、デフォルトのステップ名を変更します。
記事 (9/33)
スクリプトステップを使用して、アクションでサーバー側 JavaScript を実行します。スクリプトステップには入力変数と出力変数が別々に用意されているため、アクションデータを JavaScript データにマッピングできます。
入力変数は、スクリプトに情報を渡します。入力変数には、アクションからの静的情報または動的情報を含めることができます。データピルを使用して、入力変数の値を動的に設定します。入力オブジェクトは自動的にインスタンス化され、入力変数をオブジェクトプロパティとして保存します。構文 inputs.variableName を使用して、スクリプトで入力変数を使用します。
出力変数はデータピルを作成して、スクリプトから他のステップまたはアクション出力にデータを渡します。出力変数は、スクリプトから値を取得します。出力オブジェクトは自動的にインスタンス化され、出力変数をオブジェクトプロパティとして保存します。構文 outputs.variableName = valueFromScript を使用して、出力変数の値を設定します。
スクリプトステップの説明は、データ連携のためにサブスクリプションが必要であることを示しています。ServiceNow インスタンスとのみやり取りするスクリプトステップには、サブスクリプションは必要ありません。REST または他の API 呼び出しを介して外部アプリケーションとやり取りするスクリプトステップには、IntegrationHub へのサブスクリプションが必要です。
記事 (10/33)
アクションをテストするには、アクションヘッダーの [テスト] ボタンをクリックします。[アクションのテスト] ダイアログで、アクション入力の値を構成して [テストの実行] ボタンをクリックします。
アクションが実行されたら、[テストの実行が終了しました。アクション実行の詳細を表示します] というリンクをクリックして、結果を表示します。
注意:デフォルトでは、テストは同期して実行され、テスト結果を迅速に取得します。テストを非同期で実行するには、[バックグラウンドでテストを実行] オプションを選択します。
アクションの実行の詳細には、[ステップ] セクションが含まれています。[ステップ] セクションを展開して、ステップ設定とランタイムの詳細を表示します。
[ステップ構成] セクションを使用して、ステップ入力変数とランタイム値を表示します。
[ステップ出力データ] セクションを使用して、出力変数とランタイム値を表示します。
フローでアクションをテストするには、アクションをフローに追加し、フローの [テスト] ボタンをクリックします。新しく作成されたアクションは、ドラフトアクションと呼ばれます。ドラフトアクションをテストするには、フローに以下が必要です。
[ドラフトアクションを表示] トグルを設定するには、[その他のアクション] メニュー () をクリックし、[構成] メニューアイテムを選択します。[ドラフトアクションを表示] トグルをクリックして、[選択済み] に設定します。
[ドラフトアクションを表示] トグルを無効にすると、ドラフトアクションがフローから削除されます。
演習 (11/33)
この演習では、NeedIt アクションのスポークを作成し、フローで使用するアプリケーションプロパティの値を取得するアクションを作成します。
注意:アプリケーションプロパティは、アプリケーションの動作を変更するための構成可能なアプリケーションパラメーターです。アプリケーションプロパティの詳細については、「アプリケーションプロパティ」モジュールを参照してください。
記事 (12/33)
アクション入力を定義して、変数をアクションステップと出力に渡します。アクション入力は、Flow Designer でのアクションの構成オプションです。
アクション入力を追加するには、[アクションアウトライン] パネルから [入力] を選択します。[入力の作成] ボタンをクリックして、アクション入力を作成します。次のようにアクション入力を構成します。
[参照] などの一部のデータタイプでは、参照テーブルが必要です。参照テーブルを選択するために参照テーブルが必要なタイプでは、[展開] アイコン () を使用します。結果の [タイプ] フィールド値は、Type.Reference テーブルの形式を使用します。
アクションに必要な入力の [必須]トグルを true に設定します。
アクションデザイナーでは、アクション入力は [データ] パネルでのデータピルです。
[詳細入力の切り替え] アイコン () をクリックして、追加の入力オプションを構成します。
詳細オプションは、データタイプによって異なります。すべてのデータタイプは次のとおりです。
参照入力の詳細入力オプションを使用して [参照修飾子の条件] を設定し、フローで選択できるレコードを制限します。文字列入力の詳細入力オプションを使用して、最大長を設定します。
アクションがフローで使用される場合、アクション入力は、アクションデザイナーで構成された順序で並べられます。
アクション入力のハンドル () アイコンをクリックしてドラッグし、アクション入力の順序を変更します。
記事 (13/33)
アクション出力を使用して、アクション内で使用される変数をフローで使用できるようにします。アクション出力はフロー内のデータピルです。
アクション出力を追加するには、[アクションアウトライン] パネルから [出力] を選択します。[出力の作成] リンクをクリックして、アクション出力を作成します。
次のようにアクション出力を構成します。
[出力の作成] ボタンをクリックして、さらにアクション出力を作成します。
すべてのアクション出力を構成したら、[編集モードを終了] ボタンをクリックしてアクション出力の値を構成します。
さらにアクション出力を作成したり、既存のアクション出力を編集したりするには、[出力を編集] ボタンをクリックします。
記事 (14/33)
開発中、アクションは [ドラフト] ステータスです。アクティブなフローでアクションを使用するには、アクションを公開します。
アクションを公開するには、アクションヘッダーの [公開] ボタンをクリックします。
公開されたアクションのステータスは [公開済み] です。
公開済みアクションが変更された場合は、アクションを再度公開し、公開済みアクションを使用して変更をフローに反映します。
公開済みアクションを非公開にすることはできません。アクションを使用しなくなった場合は、フローまたはサブフローからアクションを削除します。
演習 (15/33)
前の演習では、アプリケーションプロパティの値を取得するアクションを作成しました。この演習では、アクションに入力と出力を追加して、アクションを動的にします。アクションが完了したら、これを公開します。
演習のこのセクションでは、数日前の日付を計算するアクションを作成します。
記事 (16/33)
サブフローとは、フローで使用する一連の再利用可能なアクションのことです。開発者は、カスタムアプリケーションに固有の一般的な処理を実行するサブフローを作成できます。
サブフローの構成要素は次のとおりです。
サブフローにはトリガーがありません。サブフローは、フローまたはスクリプトから実行されます。
記事 (17/33)
サブフローとカスタムアクションの両方で、開発者は任意のフローから呼び出せる再利用可能なロジックを作成できます。
開発者はいつカスタムアクションを作成し、いつサブフローを作成する必要がありますか?
再利用可能なロジックの必要なステップ数が限られている場合、開発者はカスタムアクションまたはサブフローを使用できます。再利用可能なロジックに複数のステップまたはアクションが必要な場合、サブフローではアクションを並べ替えることができるため、カスタムアクションよりもサブフローの方が適しています。再利用可能なロジックに条件付きフローロジックが必要な場合は、アクションでフローロジックを使用できないため、サブフローを使用します。再利用可能なロジックにカスタムスクリプトが必要な場合は、スクリプトステップがサブフローで使用できないため、カスタムアクションを使用します。
アクション | サブフロー | |
---|---|---|
1 つまたは 2 つのステップ/アクションが必要 | はい | はい |
複数のステップ/アクションが必要 | いいえ | はい |
フローロジックが必要 | いいえ | はい |
カスタムスクリプトステップが必要 | はい | いいえ |
フローの呼び出しとは異なるユーザーコンテキストでプロセスを実行する必要がある | いいえ | はい |
記事 (18/33)
Flow Designer または Studio でサブフローを作成します。
Flow Designer のランディングページからサブフローを作成するには、[新規] ボタンをクリックして [サブフロー] メニューアイテムを選択します。
別の Flow Designer から新しいアクションを作成するには、[フロー、サブフロー、またはアクションの作成] ボタン () をクリックし、[サブフロー] メニューアイテムを選択します。
Studio でサブフローを作成するには:
Flow Designer が新しいブラウザーウィンドウで開き、[フロー] ダイアログが開きます。[フロー] ダイアログで [サブフロー] オプションを選択し、[次へ] ボタンをクリックします。
[サブフロープロパティ] ダイアログボックスが開きます。
サブフローのプロパティを構成します。スクロールすると、ダイアログに表示されないプロパティを表示できます。
開発者向けのヒント:サブフロー名にはスペースを使用できます。サブフローには分かりやすい名前を使用します。
記事 (19/33)
サブフロー入力を定義して、サブフロー内のアクションに変数を渡します。サブフロー入力は、Flow Designer でのサブフローの構成オプションです。
サブフロー入力を追加するには、[新規入力を追加] ボタン () をクリックしてサブフロー入力を作成します。次のようにサブフロー入力を構成します。
[参照] などの一部のデータタイプでは、参照テーブルが必要です。参照テーブルを選択するために参照テーブルが必要なタイプでは、[展開] アイコン () を使用します。[タイプ] フィールド値は、Type.Reference テーブルの構文を使用します。
サブフローに必要な入力の [必須]トグルを true に設定します。
サブフロー入力は、サブフローの [データ] パネルにあるデータピルです。
[詳細入力の切り替え] アイコン () をクリックして、追加の入力オプションを構成します。
すべてのデータタイプに共通の詳細オプションは次のとおりです。
詳細オプションは、データタイプによって異なります。参照入力の詳細入力オプションを使用して [参照修飾子の条件] を設定し、フローで選択できるレコードを制限します。
サブフローがフローで使用される場合、サブフロー入力はサブフローで構成された順序になります。より重要なサブフロー入力を最初に配置します。
サブフロー入力のハンドルアイコン () をクリックしてドラッグし、サブフロー入力の順序を変更します。
記事 (20/33)
サブフロー出力を使用して、サブフロー内で使用される変数をフローで使用できるようにします。サブフロー出力は、フロー内のデータピルです。
サブフロー出力を追加するには、[新規出力を追加] ボタン () をクリックしてサブフロー出力を作成します。次のようにサブフロー出力を構成します。
[参照] などの一部のデータタイプでは、参照テーブルが必要です。参照テーブルを選択するために参照テーブルが必要なタイプでは、[展開] () アイコンを使用します。[タイプ] フィールド値は、Type.Reference テーブルの構文を使用します。
記事 (21/33)
サブフローの [サブフロー出力の割り当て] フローロジックを使用して、サブフロー出力に値を割り当てます。
サブフロー出力に値を割り当てるには、[出力を追加 (Add output)] () ボタンをクリックして値を選択し、サブフロー出力に割り当てます。次のようにサブフロー出力を構成します。
サブフロー出力値が複数回割り当てられた場合、サブフローで定義された最後の値が使用されます。この例では、アクション 3 の [私の出力 (My output)] の値が、アクション 2 で設定された [私の出力 (My output)] の値を上書きします。アクション 4 で [私の出力 (My output)] の値を再度設定すると、アクション 3 で設定された [私の 出力 (My output)] の値が上書きされます。サブフローが実行されると、[私の出力 (My output)] には、アクション 4 で割り当てられた値があります。
フローロジックブロックを使用すると、サブフロー内の他の値に基づいてサブフロー出力を設定できます。この例では、If/Else If/Else ブロックを使用して、最初のアクションで見つかった最初のユーザー名に基づいてサブフロー出力が設定されています。
記事 (22/33)
サブフローをテストするには、サブフローヘッダーの [テスト] ボタンをクリックします。
[サブフローのテスト] ダイアログで、サブフロー入力の値を入力して [テストの実行] ボタンをクリックします。
注意:デフォルトでは、テストは同期して実行され、テスト結果を迅速に取得します。テストを非同期で実行するには、[バックグラウンドでテストを実行] オプションを選択します。
テストの実行後に、[テストの実行が終了しました。サブフローの実行の詳細を表示します。] というリンクをクリックして、Flow Designer の新しいタブでフローの実行の詳細を開きます。
テストが完了したら、キャンセルボタンまたは閉じるボタン () をクリックして、[テストサブフロー] ダイアログを閉じます。
サブフローの実行の詳細はフローの実行の詳細と同じですが、サブフローの実行の詳細には [トリガー] セクションではなく [入力と出力] セクションがあります。
記事 (23/33)
開発中、サブフローは [ドラフト] ステータスになっています。フローでサブフローを使用するには、サブフローを公開します。
サブフローを公開するには、サブフローヘッダーの [公開] ボタンをクリックします。
未変更の公開済みサブフローのステータスは [公開済み] です。
公開済みサブフローが変更された場合は、サブフローを再度公開し、公開済みサブフローを使用して変更をフローに反映します。
注意:公開されたサブフローのみをフローで選択できます。
記事 (24/33)
フローにサブフローを追加するには、[アクション、フローロジック、またはサブフローを追加] リンクをクリックします。サブフローを追加するには、[サブフロー] ボタンをクリックします。
[サブフロー] 選択ペインを使用して、フローに追加するサブフローを選択します。サブフローはアプリケーションごとにグループ化されています。アプリケーション内では、サブフローをカテゴリ別にグループ化できます。サブフローの詳細を表示するには、サブフローにカーソルを合わせます。
注釈を追加 () アイコンを使用して、サブフローの目的に関する追加の詳細を入力します。
開発者向けのヒント:ドキュメントのサブフローには常に注釈を含めます。同僚も将来の自分も、それに感謝するでしょう。
フロー実行の詳細にサブフローの結果を表示します。サブフロー名をクリックして、サブフローの入力と出力のランタイムの詳細を表示します。
[クリックするか Enter を押して、すべての子アクションを展開してください] アイコン () をクリックし、サブフローアクションの実行の詳細を表示します。
演習 (25/33)
この演習では、[NeedIt Spoke] にサブフローを作成して、期限切れの NeedIt タスクを処理します。
作成するサブフローは次のようになります。
演習 (26/33)
この演習では、フロー内の [期限切れの NeedIt タスクの処理] サブフローを公開して使用します。
演習 (27/33)
前の演習では、2 つのアクションと 1 つのサブフローをテストして公開しました。この演習では、スケジュール設定済みフローのアクションとサブフローを使用して、期限切れの NeedIt タスクレコードを見つけてクローズします。
課題のこの部分では、期日が 21 日より前の NeedIt タスクレコード (autoCloseOverdue アプリケーションプロパティの値) を作成します。期限切れであるが、期日が 21 日未満の 2 つ目の NeedIt タスクレコードを作成します。
作業しているモジュールによっては、NeedIt タスクレコードが既に存在する場合があります。
課題のこの部分では、このモジュールで学習した内容を適用して、期限切れの NeedIt タスクをチェックするスケジュール済みフローを作成し、期限切れのタスクをクローズし、理由を付けてタスクの作業メモを更新し、自動クローズをログに記録します。
課題ソリューション:
課題についてサポートが必要な場合は、次の手順を使用して課題フローを作成してください。ここでの答えは、考えられるソリューションの 1 つです。自分のソリューションが、これとは異なっている場合があります。
フロープロパティの構成:
トリガー構成:
プロパティの取得アクションの構成:
過去の日付の取得アクションの構成:
レコードの検索アクションの構成:
For Each フローロジック構成:
サブフローサンプルの構成 (理由は異なる場合があります):
更新された NeedIt タスク:
[アクティビティ] フィールドを使用して、送信された [作業メモ] を表示します。
ログエントリ:
ServiceNow のメインウィンドウで、Application Navigator を使用して [システムログ] > [システムログ] > [すべて] を開きます。Needit タスクを含むログレコードでフィルタリングします。
ログエントリ:
記事 (28/33)
公開されたフロー、サブフロー、およびアクションは、FlowAPI を使用してサーバー側スクリプトで開始できます。Flow Designer には、スクリプトでフロー、サブフロー、およびアクションを使用するためのコードスニペットが用意されています。
注意:このモジュールは、サーバー側のコードスニペットのみを対象としています。フロー、サブフロー、およびアクションは、クライアントサイドのコードで実行するように構成することもできますが、追加の構成が必要です。
FlowAPI オブジェクトには、フロー、サブフロー、およびアクションを同期および非同期で実行するメソッドが含まれています。グローバルのスコープ指定スクリプトで FlowAPI メソッドにアクセスするには、sn_fd.FlowAPI オブジェクトを使用します。
同期メソッドを使用するサーバーサイドスクリプトは、フロー、サブフロー、またはアクションの完了を待ってから処理を実行します。同期メソッドを使用するスクリプトは、サブフローとアクションの出力変数にアクセスできます。フローには出力変数がありません。フロー、サブフロー、またはアクションを同期的に実行するメソッド:
非同期メソッドを使用するサーバーサイドスクリプトは、フロー、サブフロー、またはアクションを開始し、フロー、サブフロー、またはアクションの完了を待たずに処理を実行します。フロー、サブフロー、またはアクションを非同期的に実行するメソッド:
すべてのメソッドには、実行するフロー、サブフロー、またはアクションの名前と、入力をマップするオブジェクトが必要です。たとえば、このスクリプトは入力オブジェクトを作成し、test_flow と呼ばれるグローバルフローを実行します。
// Map inputs. For a flow with a record trigger, inputs are the record and table var inputs = {}; inputs['current'] = current; // GlideRecord of table: inputs['table_name'] = 'incident'; // Execute the global flow called test_flow sn_fd.FlowAPI.executeFlow('global.test_flow', inputs);
オプションの 3 番目のパラメーターをこれらすべてのメソッドで使用して、実行のタイムアウトをミリ秒単位で設定できます。値が指定されていない場合、タイムアウトはデフォルトで com.glide.hub.flow_api.default_execution_time プロパティの値になります。
flow_designer ロールまたは admin ロールを持つユーザーは、フロー、サブフロー、またはアクションのコードスニペットを取得できます。
開発者がコードスニペットを取得する前に、フロー、サブフロー、およびアクションを公開する必要があります。コードスニペットを取得するには、[その他のアクション] ボタンをクリックし、[コードスニペットの作成] メニューアイテムを選択します。
[実行するコードスニペット...] ダイアログで、[コードスニペットをクリップボードにコピー] ボタンをクリックして、コードスニペットをコピーします。コードスニペットをスクリプトに貼り付けます。
フロー、サブフロー、およびアクションのコードスニペットはすべて同じ構造になっています。コードスニペットは、エラーをキャッチする try/catch ステートメントを含む関数です。コードスニペットには、非同期メソッドと同期メソッドの両方が含まれています。非同期メソッドと同期メソッドの両方を実行しないでください。フロー、サブフロー、またはアクションが 2 回実行されてしまいます。
スクリプトにコードスニペットを貼り付け、入力値を更新して、任意のコードを追加します。この例は、UI アクションのコードスニペットを示しています。このコードスニペットは、ソフトウェアモデルで利用可能な権限の数を見つけるアクション用です。現在のソフトウェアモデルがアクションへの入力として渡されます。出力は情報メッセージに出力されます。
演習 (29/33)
この演習では、[期限切れの NeedIt タスクの処理 (Handle Overdue NeedIt Tasks)] サブフローのコードスニペットを取得し、UI アクションでこのスニペットを使用して、ユーザーが期限切れのタスクを手動でクローズできるようにします。
この演習では、UI アクションを使用します。UI アクションに慣れていない場合は、「UI アクションを使用したインタラクションの作成」チュートリアルブログ投稿にアクセスして、UI アクションをよく理解してください。
演習 (30/33)
開発者は、GitHub のようなソースコントロールアプリケーションを使用して、個人開発者インスタンス (PDI) の外部で変更をコミット (完了した作業を保存) できます。アプリケーションに対する変更内容をコミットして、作業をソースコントロールに保存します。
この演習では、このモジュールで完了した作業を GitHub リポジトリに保存します。
注意:ServiceNow が開発者プログラムの学習コンテンツで GitHub を使用する方法の詳細と、作業を保存する方法に関するビデオを見るには、『GitHub ガイド』を参照してください。
演習のこのセクションでは、新しいリポジトリを表示して、NeedIt Spoke アプリケーションを新しいリポジトリにリンクし、コミットされたファイルを含むリポジトリを表示します。
記事 (31/33)
「Flow Designer の開発」に関する理解度を確認しましょう。以下の質問は、自分の進捗状況を評価するのに役立ちます。質問ごとに回答を決定し、質問の任意の場所をクリックして回答を表示します。
質問:スポークは次のうちどれですか。複数の回答が正解の場合があります。
回答:正解は 2 と 3 です。スポークは外部プラットフォームとデータ連携する必要はなく、フローを含めてもアプリケーションはスポークになりません。厳密にいえば「4. バイクタイヤの部品」も正解ですが、二輪車の修理やメンテナンスはこのトレーニングの対象ではありません。
質問:アクションで使用されないのは、次のどれですか?複数の回答が正解の場合があります。
回答:正解は 4 のフロー ロジック。アクションには、入力と出力、さまざまな作業を実行するためのステップ、およびアクションを通じてデータを渡すためのデータピルがあります。フローとサブフローはフローロジックを使用しますが、アクションは使用しません。
質問:アクションのテスト方法を説明する文は次のどれですか?複数の回答が正解の場合があります。
回答:正解は 1 と 5 です。アクションから直接テストするのが、アクションの動作を検証する最も簡単な方法です。アクションはフローでテストすることもできますが、未公開のアクションをフローに追加する前に、フローに [ドラフトアクションを表示] 構成を設定する必要があります。
アクションにはトリガーがありません。アクションは公開してフローで使用することも、ビジネスルールから実行することもできますが、テストする前に公開してはいけません。
質問:アクションからのデータをフロー内でどのように使用しますか?
回答:正解は 2 です。アクションからデータにアクセスするためのスクリプトは必要ありません。
質問:アクションを作成してテストしたとします。フローでアクションを使用する必要がありますが、そのアクションをアクション選択ペインで使用できません。アクションをフローで利用できるようにするのに最適な方法は次のうちどれですか?
回答:正解は 1 です。アクションはテストが完了し、フローで使用する準備ができています。アクションを公開して利用可能にします。
フローを公開しても、アクションはフローで使用できません。ドラフトアクションを表示するようにフローを構成すると、アクションをフローに追加できますが、フロー自体は、ドラフトアクションが含まれなくなるまで有効化できません。アクションはテスト済みなので、「アクションを公開する」の方が回答として優れています。アクションとフローは同じアプリケーションの一部である必要はありません。
質問:正誤問題?サブフローには、条件付きデータで分岐したり、アクションを並列実行したりするフローロジックを含めることができます。
回答:正解は正しいです。サブフローは、フローで使用可能なすべての同じフローロジックを使用できます。
質問:サブフローの実行方法を説明する文は次のどれですか?複数の回答が正解の場合があります。
回答:正解は 1. フロー内」、「2. スクリプトから」、および「4. [テスト] ボタンを使用して」です。技術的には、サブフローはフロー内から、または予定スクリプトの実行 (SSE) によるスケジュールに従って実行できますが、フローと SSE はサブフローではなくスケジュールに基づいて実行しています。サブフローには [今すぐ実行] ボタンがありません。
質問:サブフローからのデータをフロー内でどのように使用しますか?
回答:正解は 4 です。[サブフロー出力の割り当て] はフローロジックであり、アクションではありません。スクリプトは不要です。サブフローからのアクション出力は、フローで自動的に使用できるわけではありません。
質問:フローでサブフローをどのように使用しますか?複数の回答が正解の場合があります。
回答:正解は 2 と 3 です。Flow Designer の以前のリリースには、[クリックしてアクション、フローロジック、またはサブフローを追加] リンクがありました。
質問:サーバー側スクリプトでサブフローを呼び出すステップは次の内どれですか?複数の回答が正解の場合があります。
回答:正解は 1、2、3、5 です。クライアント側スクリプトを使用する UI ポリシーを除き、すべてサーバー側スクリプトでサブフローを呼び出すために実行できるステップです。
記事 (32/33)
コアコンセプト:
記事 (33/33)
お疲れさまでした。「Flow Designer の開発」モジュールが完了しました。Flow Designer への関心に基づいて、さらに次のことも学んでいただけます。