アサイン先グループフィールドを制限する

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:3分
  • この例では、JavaScript とスクリプトインクルードで詳細参照修飾子を使用して、インシデントの [アサイン先グループ] の選択肢を [アサイン先] フィールドで指定されたユーザーを含むグループのみに制限する方法を示します。

    始める前に

    必要なロール:personalize_dictionary または admin

    手順

    1. インシデントを開きます。
    2. [アサイン先グループ] のラベルを右クリックし、[ディクショナリを構成] を選択します。
    3. フォームが [デフォルトビュー][関連リンク] に表示されている場合は、[詳細ビュー] をクリックします。
    4. [参照修飾子を使用] フィールドで、[詳細] オプションが選択されていることを確認します。
    5. [参照修飾子] フィールドに「javascript:new ReferenceQualifierHelper().backfillAssignmentGroup()」と入力します。
    6. レコードを保存します
    7. 移動先 システム定義 > スクリプトインクルード.
    8. [New] をクリックします。
    9. スクリプトインクルードに ReferenceQualifierHelper という名前を付けて、次のステップの JavaScript と一致させます。
      この名前により、[名前] フィールドに基づいて API 名が正しく生成されます。
    10. 次の 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'
      };
      

    次のタスク

    テストするには、インシデントを作成し、[アサイン先] フィールドでユーザーを選択します。[アサイン先グループ] ルックアップアイコンをクリックします。選択したユーザーを含むグループのみが表示されます。たとえば、データベースグループとネットワークグループに属する Bob Smith にインシデントを割り当てます。アサイン先グループに表示されるオプションは、[データベース][ネットワーク] のみです。