アクションアイテムの構成

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

    始める前に

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

    必要なロール:admin

    このタスクについて

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

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

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

    手順

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

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

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

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

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

    次の例では、スクリプトを使用して、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; を使用して呼び出すことができます。

    次のタスク

    アクションアイテムをアクション機能に関連付けます。 「アクション機能」を参照してください。

    アクションステップをアクションアイテムに関連付けるには、「 アクションアイテム内でのアクションステップの構成」を参照してください。