이 예시는 JavaScript 및 스크립트 포함과 함께 고급 참조 한정자를 사용하여 인시던트 할당 그룹 선택 항목을 할당 대상 필드에 지정된 사용자가 포함된 그룹으로만 제한하는 방법을 보여줍니다.
시작하기 전에
필요한 역할: personalize_dictionary 또는 admin
프로시저
-
인시던트를 엽니다.
-
Assignment group(할당 그룹) 레이블을 마우스 오른쪽 버튼으로 클릭하고 Configure Dictionary(딕셔너리 구성)를 선택합니다.
-
양식이 기본 뷰에 나타나면 관련 링크 아래에서 고급 뷰를 클릭합니다.
-
참조 한정자 사용 필드에서 고급 옵션이 선택되어 있는지 확인합니다.
-
참조 한정자 필드에 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에게 인시던트를 할당한다고 가정해 보겠습니다. 할당 그룹에 표시되는 유일한 옵션은 데이터베이스 및 네트워킹입니다.