SkillDeterminationUtils - スコープ指定

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:5分
  • SkillDeterminationUtils スクリプトインクルードは、作業アイテムのスキルデータを取得または設定するためのユーティリティメソッドを提供します。

    このスクリプトインクルードにはスキル決定 (com.snc.skill_determination) プラグインが必要であり、 sn_skill_rule 名前空間内で提供されます。

    SkillDeterminationUtils:SkillDeterminationUtils()

    SkillDeterminationUtils のインスタンスを作成するコンストラクター。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    var util = new sn_skill_rule.SkillDeterminationUtils();

    SkillDeterminationUtils - assignSkillsToWorkItem(アレイスキル、GlideRecord now_GR)

    アクティブなスキルオブジェクトのアレイを作業アイテムにアサインします。

    表 : 2. パラメーター
    名前 タイプ 説明
    スキル アレイ アサインするアクティブなスキルオブジェクトのアレイ。
    skill.skillName 文字列 スキルの名前。
    skill.skillSysId 文字列 スキルの Sys ID。
    skill.mandatory ブール スキルが必須の場合は true、それ以外の場合は false。
    skill.skillLevelName 文字列 オプションのスキルレベル名。
    skill.skillLevelSysId 文字列 オプションのスキルレベル Sys ID。
    now_GR GlideRecord スキルをアサインする作業アイテムの GlideRecord。
    表 : 3. 戻り値
    タイプ 説明
    なし

    以下の例では、テーブル名 (インタラクション) を使用してインタラクションレコードを作成し、インタラクション作業アイテムにスキルを割り当てて、インタラクションスキル [interaction_m2m_skill] テーブルにレコードを作成する方法を示します。

    ユースケース 1:determineWorkItemSkills() から返された結果を使用して、インタラクションテーブルから作業アイテムにスキルをアサインします。

    // Create an interaction record
    var now_GR = new GlideRecord('interaction');
    now_GR.insert();
    
    var util = new sn_skill_rule.SkillDeterminationUtils();
    
    // Get interaction skills interaction 
    // and specify if any are mandatory
    var result = util.determineWorkItemSkills(now_GR);
    
    // Assign skills determined by result and 
    // assign them to the interaction work item
    util.assignSkillsToWorkItem(result, now_GR);

    ユースケース 2:スキルアレイを手動で挿入する。この場合、インタラクション作業アイテムに IT スキルをアサインします。

    var now_GR = new GlideRecord('interaction');
    now_GR.insert();
    
    var util = new sn_skill_rule.SkillDeterminationUtils();
    
    var skills = [{"skillSysId":"2eb1c2029f100200a3bc1471367fcfe4", "skillName":"IT", "mandatory":true, "skillLevelName":"", "skillLevelSysId":null}];
    
    util.assignSkillsToWorkItem(skills, now_GR);

    SkillDeterminationUtils - determineWorkItemSkills(GlideRecord now_GR)

    指定された作業アイテムのスキルを取得し、スキルが必須かどうかを示し、スキルレベルを一覧表示します。

    表 : 4. パラメーター
    名前 タイプ 説明
    now_GR GlideRecord 任意のインタラクションまたはタスクテーブル拡張からの作業アイテムの GlideRecord。
    表 : 5. 戻り値
    タイプ 説明
    アレイ 1 つ以上のスキルオブジェクト。
    • skillSysId:文字列。スキル [cmn_skill] テーブルのスキルの Sys ID。
    • skillName:文字列。スキルの名前。
    • 必須:ブーリアン。必須の場合は true、それ以外の場合は false。
    • skillLevelName:スキルが存在する場合、スキルレベルの名前。
    • skillLevelSysId:スキルが存在する場合、スキルレベル [cmn_skill_level] テーブルのスキルレベルの Sys ID。

    次のスクリプトは、インタラクションレコードを作成し、インタラクション作業アイテムのスキルを取得して、スキルが必須かどうかを示します。

    // Create an interaction record
    var now_GR = new GlideRecord('interaction');
    now_GR.insert();
    
    var util = new sn_skill_rule.SkillDeterminationUtils();
    
    var result = util.determineWorkItemSkills(now_GR);
    gs.info(JSON.stringify(result));

    出力:

    [{"skillSysId":"6c0f025c7f672300a8b1bdc8adfa917f",
    "skillName":"Premier Support Certified",
    "mandatory":false,"skillLevelName":"",
    "skillLevelSysId":null}]