이 예시에서는 JavaScript 및 스크립트 포함에 고급 참조 한정자를 사용해 할당 대상 필드에 지정된 사용자가 포함된 그룹으로만 인시던트 할당 그룹 선택 항목을 제한하는 방법을 보여줍니다.
시작하기 전에
필요한 역할: personalize_dictionary 또는 admin
프로시저
-
인시던트를 엽니다.
-
할당 그룹 레이블을 마우스 오른쪽 단추로 클릭하고 사전 구성을 선택합니다.
-
양식이 기본 뷰에 나타나면 관련 링크 아래에서 고급 뷰를 클릭합니다.
-
참조 한정자 사용 필드에서 고급 옵션이 선택되어 있는지 확인합니다.
-
참조 한정자 필드에 javascript:new ReferenceQualifierHelper().backfillAssignmentGroup()을 입력합니다.
-
기록을 저장합니다.
-
다음으로 이동 레이블이 표시됩니다.
-
새로 만들기를 클릭합니다.
-
다음 단계의 Javascript와 일치하도록 스크립트 포함의 이름을 ReferenceQualifierHelper 로 지정합니다.
이 이름을 사용하면 이름 필드에 따라 API 이름이 올바르게 생성됩니다.
-
Script Includes 를 다음 JavaScript 코드로 바꿉니다.
액세스 가능한 양식 필드가 환경에 맞게 올바르게 설정되었는지 확인합니다.
var ReferenceQualifierHelper = Class.create();
ReferenceQualifierHelper.prototype = {
backfillAssignmentGroup:function() {
var assigneeGroupsQualifier = '';
var assignee = current.assigned_to;
//return if the assigned_to value is empty (this causes all groups to be returned)
if(!assignee)
return;
//sys_user_grmember has the user to group relationship
var grAssigneeGroups = new GlideRecord('sys_user_grmember');
grAssigneeGroups.addQuery('user',assignee);
grAssigneeGroups.query();
while(grAssigneeGroups.next()) {
if (assigneeGroupsQualifier.length == 0) {
// Create the beginning of the qualifier and add the 1st group
assigneeGroupsQualifier = 'sys_idIN' + grAssigneeGroups.getValue('group');
}
else {
// build a comma separated string of groups if there is more than one
assigneeGroupsQualifier += (',' + grAssigneeGroups.group);
}
}
// return Groups where assigned to is in those groups we use IN for lists
gs.log('DP: RefQual = ' + assigneeGroupsQualifier);
return assigneeGroupsQualifier;
},
type: 'ReferenceQualifierHelper'
};
다음에 수행할 작업
테스트하려면 인시던트를 만들고 할당 대상 필드에서 사용자를 선택합니다. 할당 그룹 조회 아이콘을 클릭합니다. 선택한 사용자가 포함된 그룹만 나타납니다. 예를 들어 Database 그룹 및 Networking 그룹에 속한 Bob Smith에게 인시던트를 할당합니다. 할당 그룹에 표시되는 유일한 옵션은 데이터베이스 및 네트워킹입니다.