UserSkillAnalyzer - 전역

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 7분
  • UserSkillAnalyzer API는 작업 항목을 완료하는 데 필요한 기술과 비교하여 사용자 기술을 분석하는 메서드를 제공합니다.

    이 API에는 기술 관리 관리자 역할이 있는 경우 활성화할 수 있는 플러그인(com.snc.skills_management)이 필요합니다.

    기술 및 기술 수준에 따라 사용자에게 자격 부여 및 순위 지정을 참조하십시오.

    UserSkillAnalyzer - UserSkillAnalyzer ()

    새 UserSkillAnalyzer 개체를 인스턴스화합니다.

    표 1. 매개변수
    이름 유형 설명
    없음
    
    var userSkillAnalyzer = new SNC.UserSkillAnalyzer();

    UserSkillAnalyzer - analyzeUserByID(String requiredSkillsJson, String userID, Boolean isSkillLevelEnforced)

    필요한 기술에 대해 사용자 기술을 분석하고 인스턴스에서 수집할 수 있는 일치하는 기술 수, 기술 수준 격차 및 자격을 설정합니다.

    에이전트가 작업을 완료하는 데 필요한 기술과 기술 수준을 가지고 있는지 검증하여 에이전트가 작업을 수행할 자격이 있는지 여부를 분석합니다. 에이전트가 작업을 수행할 자격이 있는 경우 API는 필요한 기술과 사용자의 기술 수준 간의 수준 격차를 분석하며, 애플리케이션에서 수준 격차를 기반으로 가장 적합한 에이전트를 선택하는 데 추가로 사용할 수 있습니다. 또한 에이전트가 해당 작업을 실행해야 하는 기술 수준이 있거나 없는 총 기술 수를 분석합니다.

    표 2. 매개변수
    이름 유형 설명
    requiredSkillsJson 문자열 사용자와 비교할 필수 기술 목록입니다.
    각 기술은 다음 형식의 JSON 항목으로 나열됩니다.
    • sys_id: 문자열. 기술 [cmn_skill] 테이블의 기술 시스템 ID입니다.
    • is_mandatory: 부울. 기술이 필수인지 여부를 나타내는 플래그입니다.
    • level: 문자열. 기술 수준 [cmn_skill_level] 테이블의 시스템 ID입니다.
    userID 문자열 사용자 [sys_user] 테이블의 시스템 ID입니다.
    isSkillLevelEnforced 부울 사용자에게 필요한 모든 필수 기술에 대한 최소 기술 수준이 있어야 하는 경우 예, 그렇지 않으면 아니오입니다. 기본값은 false입니다.
    표 3. 반환
    유형 설명
    문자열 다음과 같이 분석기 기술 맵을 기반으로 사용자에 대한 모든 필수 정보를 포함하는 JSON:
    • sys_id: 문자열. 사용자 [sys_user] 테이블의 시스템 ID입니다.
    • is_qualified: 부울. 사용자가 필요한 기술에 대한 자격이 있는지 여부를 나타내는 플래그입니다.
      • 사용자에게 모든 필수 기술이 있고 기술 수준이 적용되는 경우 예입니다.
      • 사용자가 모든 필수 기술을 보유하고 있지 않거나 수준 요구 사항을 충족하지 않는 경우 False입니다.
    • num_skills: 숫자. 필요한 기술과 일치하는 기술입니다.
    • num_skills_matching_level: 숫자. 필요한 기술 수준과 일치하는 사용자 기술입니다.
    • total_skill_level_gap: 숫자. 기술 수준 격차는 순위 알고리즘이 최소 기술 수준 요구 사항을 충족하는 최적의 사용자를 찾는 데 도움이 됩니다. 작업 기술 수준과 사용자 기술 수준 간의 전체적인 격차를 기준으로 계산됩니다. 필수 기술에 대해 사용자에게 필요한 기술 수준이 있어야 합니다.
    • optional_skill_level_gap: 숫자. 선택적 기술에 대해서만 기술 수준 차이를 제공합니다. 엔드포인트에서 총 기술 수준과 선택적 기술 수준 격차를 구분하는 데 도움이 됩니다.

    매개변수가 잘못되었거나 잘못된 형식의 JSON이 제공된 경우 오류가 발생했습니다.

    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(String requiredSkillsJson, String userSkillsJson, Boolean isSkillLevelEnforced)

    필요한 기술에 대해 사용자 기술을 분석하고 인스턴스에서 수집할 수 있는 일치하는 기술 수, 기술 수준 격차 및 자격을 설정합니다.

    표 4. 매개변수
    이름 유형 설명
    requiredSkillsJson 문자열 사용자를 검증하는 데 필요한 기술 목록입니다.
    각 기술은 다음 형식의 JSON 항목으로 나열됩니다.
    • sys_id: 문자열. 기술 [cmn_skill] 테이블의 기술 시스템 ID입니다.
    • is_mandatory: 부울. 기술이 필수인지 여부를 나타내는 플래그입니다.
    • level: 문자열. 기술 수준 [cmn_skill_level] 테이블의 시스템 ID입니다.
    userSkillsJson 문자열 필요한 기술에 대한 자격을 결정하기 위한 사용자 기술 목록입니다.
    각 기술은 다음 형식의 JSON 항목으로 나열됩니다.
    • sys_id: 문자열. 기술 [cmn_skill] 테이블의 기술 시스템 ID입니다.
    • is_mandatory: 부울. 기술이 필수인지 여부를 나타내는 플래그입니다.
    • level: 문자열. 기술 수준 [cmn_skill_level] 테이블의 시스템 ID입니다.
    isSkillLevelEnforced 부울 사용자에게 필요한 모든 필수 기술에 대한 최소 기술 수준이 있어야 하는 경우 예, 그렇지 않으면 아니오입니다. 기본값은 false입니다.
    표 5. 반환
    유형 설명
    문자열 다음과 같이 분석기 기술 맵을 기반으로 사용자에 대한 모든 필수 정보를 포함하는 JSON:
    • sys_id: 문자열. 사용자 [sys_user] 테이블의 시스템 ID입니다.
    • is_qualified: 부울. 사용자가 필요한 기술에 대한 자격이 있는지 여부를 나타내는 플래그입니다.
      • 사용자에게 모든 필수 기술이 있고 기술 수준이 적용되는 경우 예입니다.
      • 사용자가 모든 필수 기술을 보유하고 있지 않거나 수준 요구 사항을 충족하지 않는 경우 False입니다.
    • num_skills: 숫자. 필요한 기술과 일치하는 기술입니다.
    • num_skills_matching_level: 숫자. 필요한 기술 수준과 일치하는 사용자 기술입니다.
    • total_skill_level_gap: 숫자. 기술 수준 격차는 순위 알고리즘이 최소 기술 수준 요구 사항을 충족하는 최적의 사용자를 찾는 데 도움이 됩니다. 작업 기술 수준과 사용자 기술 수준 간의 전체적인 격차를 기준으로 계산됩니다. 필수 기술에 대해 사용자에게 필요한 기술 수준이 있어야 합니다.
    • optional_skill_level_gap: 숫자. 선택적 기술에 대해서만 기술 수준 차이를 제공합니다. 엔드포인트에서 총 기술 수준과 선택적 기술 수준 격차를 구분하는 데 도움이 됩니다.

    매개변수가 잘못되었거나 잘못된 형식의 JSON이 제공된 경우 오류가 발생했습니다.

    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);