アクションアイテムの設定

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:7分
  • アクション機能を機能させるには、アクション機能に関連付けるアクションアイテムを作成する必要があります。アクションアイテムは、アクション機能とその動作を定義します。

    始める前に

    アクションアイテムを作成する前に、アクション機能を作成します。

    必要なロール:admin

    このタスクについて

    ほとんどのアクションアイテムではパラメーターを使用します。

    アクションアイテムを使用して、ユーザーがその機能を使用したときにアクション機能が何を行うかを定義します。次の手順では、パラメーターのないアクションの作成について詳しく説明します。パラメーター化されたアクションアイテムの作成については、「パラメーターを使用してアクションアイテムを構成する」を参照してください。

    注:
    ServiceNow モバイルアプリでは、プラットフォームの Web ベースインターフェイスで実行できないアクションは実行できません。たとえば、ACL を使用して、解決コードとメモを追加しなければユーザーがインシデントをクローズできないようにした場合、ユーザーは同じ要件を持たないアプリ内のインシデントをクローズすることはできません。アクションを作成する場合は、このことを念頭に置き、適切なパラメーターを追加するようにします。

    手順

    1. 移動先 すべて > システムモバイル > モバイルアプリビルダー.
      モバイルアプリビルダー が新しいブラウザータブで開き、アプリケーションスコープ選択画面が表示されます。
    2. 作業しているアプリケーションスコープを検索し、アプリケーションスコープの名前を選択します。
      モバイルアプリビルダー カテゴリのホーム画面が表示されます。
    3. メニューから [関数]を選択してから、[新規] を選択します。
    4. [アクションアイテム] セクションで [新規] を選択し、必要に応じて次のフィールドに入力します。
      表 : 1. アクションアイテムフィールド
      フィールド 説明
      名前 アクションアイテムの名前。同じ名前を持つ複数のアクションアイテムを持つことができます。区別しやすい名前を選択してください。
      説明 アクションアイテムの識別に役立つその他の情報。
      タイプ アクションアイテムの種類。次のいずれか 1 つを選択します。選択したアクションのタイプに応じて、[アクションアイテム] フォームに異なるフィールドが表示されます。
      テーブル アクションアイテムが適用されるテーブル (Incident など)。
      実行スクリプト

      アクションによって実行されたスクリプト。このフィールドは、タイプとして [スクリプト] を選択した場合にのみ表示されます。詳細については、以下の例を参照してください。

      スクリプトでパラメーター画面からの入力を使用するには、parm_input.<InputName> を使用します。

      スクリプトでパラメーター画面からの変数を使用するには、parm_variable.<VariableName> を使用します。

      現在のレコードを条件として使用 アクションアイテムに対して個別のクエリー条件セットを使用するかどうか。選択した場合、[クエリー条件] フィールドは無効になります。更新または削除アクションの場合は、Sys ID を指定して更新または削除するレコードを定義する必要があります。[現在のレコードを条件として使用] を「true」としてマークすると、パラメーターを作成せずにこれを実行できます。
      クエリー条件 アクションアイテムに適用されるフィルター条件。
      フィールド値の設定 アクションの対象となるフィールド値を決定します。たとえば、「解決済み」ステータスのインシデントを更新するアクションを作成する場合は、フィールド値 [ステータス] = [解決済み] を指定します。また、フィールド値に渡すパラメーター化されたアイテムを作成することもできます。
      入力フォーム画面 このアクションアイテムで使用する入力フォーム画面を選択します。「入力フォーム画面を構成する」を参照してください。
    5. [保存] を選択します。

    次の例では、SMTask オブジェクトを使用して、スクリプトでタスクを現在のユーザーにアサインしています。最初の if 文は、入力が有効な wm_task レコードであることを確認し、そうでない場合にはスクリプトを終了します。2 番目の if ステートメントには、 canAssignToSelf メソッドに従って、ユーザーが権限を持っている場合にそのタスクを現在のユーザーにアサインするコードが含まれています。このアクションは、これらのチェックを含めることができるように、更新ではなくスクリプトとして実行されました。

    (function WriteBackAction(parm_input, parm_variable) {
    	var smTask = new global.SMTask();
           var work_order_task_id = parm_variable['sys_id'];
    	var wotGR = new GlideRecord("wm_task");
    	if (!wotGR.get(work_order_task_id)) {
    		gs.error("wot_assign_to_me write-back action - failed to find work order task");
    		gs.addErrorMessage(gs.getMessage("Task assignment failed."));
    		return;
    	}
    	
    	if (smTask.canAssignToSelf(wotGR))
    		smTask.assignToMe(gs.getUserID(), work_order_task_id);
    	else
    		gs.addErrorMessage(gs.getMessage("Not a valid task assignment."));
    })(parm_input, parm_variable);

    次の例では、アクションが実行された後にスクリプトを使用してナビゲーション完了機能を実行します。機能として actionResult を入力し、アクションが実行されたら setRedirectionInfo(gr.getUniqueValue(), gr.getTableName() を定義して移動先を指定します。

    (function WriteBackAction(parm_input, parm_variable, actionResult) {​
                var gr = new GlideRecord('incident');​
                gr.get(parm_variable['sys_id']);​
                gr.short_description = 'Updated by Scripted Action';​
                gs.addInfoMessage(gs.getMessage("This is the First success message"));​
                gs.addInfoMessage(gs.getMessage("This is the Second success message"));​
                gs.addInfoMessage(gs.getMessage("This is the Third success message"));​
                gs.addInfoMessage(gs.getMessage("This is the Forth success message"));​
                gr.update();​
            actionResult.setRedirectionInfo(gr.getUniqueValue(), gr.getTableName());         ​
    })(parm_input, parm_variable, actionResult);
    次の例では、スクリプトを使用して、添付ファイル入力タイプでユーザーが選択した添付ファイルの保存場所を決定します。スクリプトは、選択したファイルをインシデント [incident] テーブルの sys_id を使用して特定のインシデントレコードに添付します。
    (function WriteBackAction(parm_input, parm_variable, actionResult) { 
    var targetTableName = "incident";
    var targetTableRecordSysId = "37aa099533b352102ed2923fad5c7b09";
    var inputName = "input2"; // input2 stands for the input's name. The input type must be "Attachment" 
    actionResult.addAttachment(inputName, targetTableName, targetTableRecordSysId);
    })(parm_input, parm_variable, actionResult);
    

    アクションアイテムにパラメーターを使用する場合は、スクリプトでパラメーターを呼び出すことができます。スクリプト内の呼び出しは、パラメーター名と正確に一致する必要があります。たとえば、上記の最初のスクリプトのように、パラメーター名が wb_wot_reject_work_note の場合は、gr.work_notes = input.wb_wot_reject_work_note; を使用してスクリプトで呼び出すことができます。

    次のタスク

    アクションアイテムをアクション機能に関連付けます (「アクション機能」を参照)。

    アクションステップをアクションアイテムに関連付けます (「 アクションアイテム内のアクションステップを設定する」を参照)。