---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# UserSkillAnalyzer - グローバル

# UserSkillAnalyzer - グローバル {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：8分

UserSkillAnalyzer API は、作業アイテムを完了するために必要なスキルに対してユーザースキルを分析するメソッドを提供します。

この API には スキル管理 プラグイン (com.snc.skills_management) が必要です。これは、admin ロールを持っている場合にアクティブ化できます。

[「スキルとスキルレベルに基づくユーザーの認定とランク付け](https://www.servicenow.com/docs/access?context=assign-work-based-on-skills&version=xanadu&pubname=xanadu-servicenow-platform&ft:locale=en-US)」を参照してください。

## UserSkillAnalyzer - UserSkillAnalyzer() {#ariaid-title2}

新しい UserSkillAnalyzer オブジェクトをインスタンス化します。
{#USA-UserSkillAnalyzer__table_shf_4b1_whb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 1. パラメーター]

{#USA-UserSkillAnalyzer__table_shf_4b1_whb}  


    var userSkillAnalyzer = new SNC.UserSkillAnalyzer();

## UserSkillAnalyzer - analyzeUserByID(文字列 requiredSkillsJson, 文字列 userID, ブーリアン isSkillLevelEnforced) {#ariaid-title3}

必要なスキルに対してユーザースキルを分析し、インスタンスから収集可能な一致するスキルの数、スキルレベルのギャップ、および資格を設定します。
タスクを完了するために必要なすべてのスキルとスキルレベルをエージェントが持っているかどうかを検証することで、そのタスクを処理する資格がそのエージェントにあるかどうかを分析します。タスクを処理する資格がエージェントにある場合、API が必要なスキルとユーザーのスキルレベルの間のレベルのギャップを分析し、さらにそれを用いて、レベルのギャップに基づいて最適なエージェントを選択します。また、そのタスクを実行するために必要なスキルレベルをエージェントが持っているスキルと持っていないスキルの合計数も分析します。
{#USA-analyzeUserById_S_S_B__table_qps_bzr_lhb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| requiredSkillsJson | 文字列 | ユーザーと比較するために必要なスキルのリスト。 各スキルは次の形式の JSON エントリーとして一覧表示されます。 * sys_id：文字列。スキル \[cmn_skill\] テーブルからのスキルの Sys ID。 * is_mandatory：ブール。スキルが必須かどうかを示すフラグ。 * level：文字列。スキルレベル \[cmn_skill_level\] テーブルからの Sys ID。 {#USA-analyzeUserById_S_S_B__ul_q2f_xsw_33b} |
| userID | 文字列 | ユーザー \[sys_user\] テーブルのSys ID。 |
| isSkillLevelEnforced | ブーリアン | ユーザーがすべての必須スキルに対して最低限のスキルレベルを持っている必要がある場合は true、そうでない場合は false。デフォルト値：false。 |
[表 : 2. パラメーター]

{#USA-analyzeUserById_S_S_B__table_qps_bzr_lhb} {#USA-analyzeUserById_S_S_B__table_kct_qrw_33b__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 次のようなアナライザースキルマップに基づいて、ユーザーに関するすべての必要な情報を含む JSON。 * sys_id：文字列。ユーザー \[sys_user\] テーブルのSys ID。 * is_qualified：ブール。ユーザーが必要なスキルを認定されているかどうかを示すフラグ。 * ユーザーがすべての必須スキルを持ち、スキルレベルが適用される場合は true。 * ユーザーが一部の必須スキルを持っていないか、レベル要件を満たしていない場合は false。 {#USA-analyzeUserById_S_S_B__ul_ql2_rhq_g3b} * num_skills：数値。必要なスキルと一致するスキル。 * num_skills_matching_level：数値。必要なスキルレベルに一致するユーザースキル。 * total_skill_level_gap：数値。スキルレベルギャップは、ランキングアルゴリズムでスキルレベルの最低要件を満たす最適なユーザーを見つけるのに役立ちます。タスクスキルレベルとユーザースキルレベルの間の全体的なギャップに基づいて計算されます。ユーザーは必須スキルのスキルレベルを持っている必要があります。 * optional_skill_level_gap：数値。オプションのスキルについてのみスキルレベルのギャップを提供します。合計スキルレベルとオプションのスキルレベルギャップを区別できるようにエンドポイントを支援します。 {#USA-analyzeUserById_S_S_B__ul_q1n_msd_f3b} 不正確なパラメーターまたは不正な形式の JSON が提供された場合はエラー。 |
[表 : 3. 返される内容]

{#USA-analyzeUserById_S_S_B__table_kct_qrw_33b}  

    var skills = [{"sys_id":"48c9f873c0a8018b65c3814608b201e6", "is_mandatory": true, "level":"4e0ac4d6b3332300290ea943c6a8dc4e"},
    			  {"sys_id":"48c9fdddc0a8018b04bd8d7914c82c9d", "is_mandatory": false, "level":"4e0ac4d6b3332300290ea943c6a8dc4e"}];
    var userSysID = "a8f98bb0eb32010045e1a5115206fe3a";
    var userSkillAnalyzer = new SNC.UserSkillAnalyzer();
    var result = userSkillAnalyzer.analyzeUserById(JSON.stringify(skills), userSysID, true);
    gs.info('Results: ' + result);

出力：

    Calling user analyzer
    *** Script: Results: {"sys_id":"a8f98bb0eb32010045e1a5115206fe3a","is_qualified":false,"num_skills":0,"num_skills_matching_level":0,"total_skill_level_gap":0,"optional_skill_level_gap":0}

## UserSkillAnalyzer - analyzeUserBySkills(文字列 requiredSkillsJson, 文字列 userSkillsJson, ブーリアン isSkillLevelEnforced) {#ariaid-title4}

必要なスキルに対してユーザースキルを分析し、インスタンスから収集可能な一致するスキルの数、スキルレベルのギャップ、および資格を設定します。
{#USA-analyzeUserBySkills_S_S_B__table_crq_fzr_lhb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| requiredSkillsJson | 文字列 | ユーザーの認定の対象として必要なスキルのリスト。 各スキルは次の形式の JSON エントリーとして一覧表示されます。 * sys_id：文字列。スキル \[cmn_skill\] テーブルからのスキルの Sys ID。 * is_mandatory：ブール。スキルが必須かどうかを示すフラグ。 * level：文字列。スキルレベル \[cmn_skill_level\] テーブルからの Sys ID。 {#USA-analyzeUserBySkills_S_S_B__ul_imx_vsw_33b} |
| userSkillsJson | 文字列 | 必要なスキルの認定を決定するためのユーザースキルのリスト。 各スキルは次の形式の JSON エントリーとして一覧表示されます。 * sys_id：文字列。スキル \[cmn_skill\] テーブルからのスキルの Sys ID。 * is_mandatory：ブール。スキルが必須かどうかを示すフラグ。 * level：文字列。スキルレベル \[cmn_skill_level\] テーブルからの Sys ID。 {#USA-analyzeUserBySkills_S_S_B__ul_kj3_h1c_j3b} |
| isSkillLevelEnforced | ブーリアン | ユーザーがすべての必須スキルに対して最低限のスキルレベルを持っている必要がある場合は true、そうでない場合は false。デフォルト値：false。 |
[表 : 4. パラメーター]

{#USA-analyzeUserBySkills_S_S_B__table_crq_fzr_lhb} {#USA-analyzeUserBySkills_S_S_B__table_vdx_prw_33b__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 次のようなアナライザースキルマップに基づいて、ユーザーに関するすべての必要な情報を含む JSON。 * sys_id：文字列。ユーザー \[sys_user\] テーブルのSys ID。 * is_qualified：ブール。ユーザーが必要なスキルを認定されているかどうかを示すフラグ。 * ユーザーがすべての必須スキルを持ち、スキルレベルが適用される場合は true。 * ユーザーが一部の必須スキルを持っていないか、レベル要件を満たしていない場合は false。 {#USA-analyzeUserBySkills_S_S_B__ul_ql2_rhq_g3b} * num_skills：数値。必要なスキルと一致するスキル。 * num_skills_matching_level：数値。必要なスキルレベルに一致するユーザースキル。 * total_skill_level_gap：数値。スキルレベルギャップは、ランキングアルゴリズムでスキルレベルの最低要件を満たす最適なユーザーを見つけるのに役立ちます。タスクスキルレベルとユーザースキルレベルの間の全体的なギャップに基づいて計算されます。ユーザーは必須スキルのスキルレベルを持っている必要があります。 * optional_skill_level_gap：数値。オプションのスキルについてのみスキルレベルのギャップを提供します。合計スキルレベルとオプションのスキルレベルギャップを区別できるようにエンドポイントを支援します。 {#USA-analyzeUserBySkills_S_S_B__ul_q1n_msd_f3b} 不正確なパラメーターまたは不正な形式の JSON が提供された場合はエラー。 |
[表 : 5. 返される内容]

{#USA-analyzeUserBySkills_S_S_B__table_vdx_prw_33b}  

    var skills = [{"sys_id":"48c9f873c0a8018b65c3814608b201e6", "is_mandatory": true, "level":"4e0ac4d6b3332300290ea943c6a8dc4e"},
    				{"sys_id":"48c9fdddc0a8018b04bd8d7914c82c9d", "is_mandatory": false, "level":"4e0ac4d6b3332300290ea943c6a8dc4e"}];
    var userSkills = [{"sys_id":"48c9f873c0a8018b65c3814608b201e6", "is_mandatory": true, "level":"4e0ac4d6b3332300290ea943c6a8dc4e"},
    		    {"sys_id":"k, th", "is_mandatory": false, "level":"4e0ac4d6b3332300290ea943c6a8dc4e"}];
    var userSkillAnalyzer = new SNC.UserSkillAnalyzer();
    var result = userSkillAnalyzer.analyzeUserBySkills(JSON.stringify(skills), JSON.stringify(userSkills));
    gs.info('Results: ' + result);


