スクリプトアクション API - ServiceNow Fluent

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:5分
  • スクリプトアクション API は、イベントが発生したときに実行されるスクリプトアクション [sysevent_script_action] を定義します。

    スケジュール済みスクリプトの実行に関する一般的な情報については、「 Script actions」を参照してください。

    ScriptAction オブジェクト

    イベントによってトリガーされたときにタスクを実行するスクリプトアクション [sysevent_script_action] を作成します。

    表 : 1. プロパティ
    名前 タイプ 説明
    $id 文字列または数値 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。

    形式: Now.ID['string' or number]

    name 文字列 必須。スクリプトアクションの一意の名前。
    スクリプト スクリプト 必須。イベントによってトリガーされたときに実行されるサーバーサイドのスクリプト。 このプロパティは、JavaScript モジュールからの関数、スクリプトを含むアプリケーション内の別のファイルへの参照、またはインライン JavaScript をサポートします。
    Format (形式):
    • 関数には、JavaScript モジュールからエクスポートされた関数、関数式、またはデフォルト関数の名前を使用し、 .now.ts ファイルにインポートします。JavaScript モジュールの詳細については、「 JavaScript モジュールとサードパーティライブラリ」を参照してください。
    • 別のファイルのテキストコンテンツを使用するには、 Now.include('path/to/file') の形式を使用してアプリケーションでファイルを参照します。詳細については、「ServiceNow Fluent 言語構成」を参照してください。
    • インラインスクリプトを指定するには、複数行のコードに文字列リテラルまたはテンプレートリテラルを使用します ( 「スクリプト」または「スクリプト」)
    eventName 文字列 必須。スクリプトアクションの実行をトリガーするイベント。イベントの作成の詳細については、「 Create an event」を参照してください。
    アクティブ ブール スクリプトアクションが有効かどうかを示すフラグ。
    有効な値:
    • true:スクリプトアクションは、イベントによってトリガーされたときに実行されます。
    • false:スクリプトアクションは実行されません。

    デフォルト値:false

    説明 文字列 スクリプトアクションの機能と目的の説明。
    順序 番号 スクリプトアクションを実行する順序を示す番号。特定のイベントに複数のスクリプトアクションがある場合、スクリプトアクションは指定された順序 (低いものから高いものの順) で実行されます。

    デフォルト:100

    conditionScript 文字列 スクリプトを実行するために true でなければならないフィールドと値を指定する JavaScript 条件ステートメント。
    注:
    script プロパティに条件ステートメントを含める場合は、このプロパティを使用しないでください。
    Format (形式):
    • 別のファイルのテキストコンテンツを使用するには、 Now.include('path/to/file') の形式を使用してアプリケーションでファイルを参照します。詳細については、「ServiceNow Fluent 言語構成」を参照してください。
    • インラインスクリプトを指定するには、複数行のコードに文字列リテラルまたはテンプレートリテラルを使用します ( 「スクリプト」または「スクリプト」)
    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。
    import { ScriptAction } from '@servicenow/sdk/core'
    import { insertIncident } from '../server/scripts.js'
    
    ScriptAction({
        $id: Now.ID['sample-script-action'],
        name: 'SampleScriptAction',
        active: true,
        description: 'Insert an incident',
        script: insertIncident,
        eventName: 'sample.event',
        order: 100,
        conditionScript: "gs.hasRole('my_role')"
    })

    スクリプトプロパティは、scripts.js モジュールの関数を参照します。たとえば、次のようになります。

    import { GlideRecord } from '@servicenow/glide'
    
    export const insertIncident = () => {
        var gr = new GlideRecord('incident')
        gr.initialize()
        gr.setValue('short_description', 'New incident from event')
        gr.insert()
    }