SkillDeterminationUtils :スコープ対象

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

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

    SkillDeterminationUtils - SkillDeterminationUtils()

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

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

    SkillDeterminationUtils - assignSkillsToWorkItem(アレイ skills, GlideRecord now_GR)

    アクティブなスキルオブジェクトのアレイを作業アイテムに割り当てます。

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

    以下の例では、テーブル名 (interaction) を使用してインタラクションレコードを作成し、インタラクション作業アイテムにスキルを割り当て、インタラクションスキル [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:文字列。スキルの名前。
    • mandatory:ブーリアン。必須の場合は 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}]