スクリプトテンプレート

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:3分
  • JavaScript を使用して、アクティブなテンプレートをレコードに適用できます。

    テンプレートを current に適用する

    テンプレートを適用するには、applyTemplate メソッドを使用します。
    current.applyTemplate("<templatename>");

    テンプレートを GlideRecord に適用する

    current 以外のレコードにテンプレートを適用するには、current を GlideRecord 変数に変更します。GlideRecord 変数を使用する場合は、変数を宣言した後に初期化する必要があります。

    var rec1 = new GlideRecord("incident");
    rec1.initialize();
    rec1.applyTemplate("my_incident_template");

    UI アクションからテンプレートを適用する

    次のスクリプトは、問題フォームの Create Change UI アクションをカスタマイズできる方法を示しています。このスクリプトを UI アクションに追加した後で、ユーザーは UI アクションを選択し、問題レコードと変更テンプレートの両方の情報を使用して変更レコードを作成できます。
    var change = new GlideRecord("change_request");
    change.initialize();
    change.short_description = current.short_description;
    change.description = current.u_details;
    change.cmdb_ci = current.u_service;
    change.priority = current.priority;
    change.requested_by = current.caller_id;
    change.assignment_group.setDisplayValue('Change & Release');
    change.u_status = 'New';
    change.parent = current.number;
    if(0 == change.applyTemplate("standard_rfc")) {
        current.rfc = change.insert();
        current.comments = 'Change ' + change.number + ' created.';
    }
    
    var mySysID = current.update();
    
    gs.addInfoMessage("Change " + change.number + " created");
    action.setRedirectURL(change);
    action.setReturnURL(current);

    子テンプレートを使用してテンプレートのスクリプトを作成する

    1 つ以上の子テンプレートを持つテンプレートで applyTemplate を使用する場合、システムは子テンプレートを適用する前に親レコードを作成します。この動作により、子レコードから親への参照またはドット連結フィールドが有効なターゲットを持つことが保証されます。

    たとえば、変更要求テーブルのテンプレートに変更タスクテーブルの子テンプレートがある場合、変更要求テンプレートを適用すると、データベースに変更要求レコードが挿入されます。このレコードを変更タスクレコードの変更要求として割り当て、子テンプレートを変更タスクレコードに適用します。

    名前の代わりに sys_id を使用したテンプレートの適用

    sys_id を使用してテンプレートを適用するには、次の方法を使用します。
    GlideTemplate.get(template.sys_id).apply(GlideRecord)