Besitzerabhängig steuern


Wenn Sie bestimmte Aktionen in der Ticketbearbeitung vom jeweiligen Besitzer des Tickets abhängig machen möchten, gehen Sie wie folgt vor.

In allen Skripten ist task das vordefinierte Objekt, das das bearbeitete Ticket repräsentiert.

Der Aufruf task.getOwner() liefert den Besitzer des Tickets - als Objekt vom Typ ToDoUser.

Um einen bestimmten Benutzer im Skript zu identifizieren, benutzen Sie am besten seine Benutzer-ID. Damit wird Ihr Skript auch dann noch funktionieren, wenn einmal der Benutzername oder die E-Mail-Adresse geändert werden, die hier auch für Vergleiche verwendet werden könnten.

Möchten Sie zum Beispiel Tickets der Besitzer mit den IDs 1, 2 und 7 anders behandeln, als alle anderen, dann können Sie das mit folgendem Skript tun:

if(task.getOwner()!=null &&
 (task.getOwner().getId()==1 ||
  task.getOwner().getId()==2 ||
  task.getOwner().getId()==7)){
    task.description = task.description + "\nSpecial owner...!\n";
}

Da das Ticket eventuell keinen Besitzer hat, wird dieser Fall in der ersten Zeile besonders berücksichtigt.

Falls Sie viele IDs vergleichen möchten, können Sie auch mit der Java-Klasse Set bzw. HashSet arbeiten, die eine Menge von Werten halten können. Dieser Menge werden im nächsten Skript die IDs als Long-Objekte hinzugefügt,  damit der folgende Vergleich in der contains-Methode des Sets zwischen Java-Objekten funktioniert:

var userIds = new java.util.HashSet();
userIds.add(new java.lang.Long(1));
userIds.add(new java.lang.Long(2));
userIds.add(new java.lang.Long(7));

if(task.getOwner()!=null &&
   userIds.contains(task.getOwner().getId())){
    task.description = task.description + "\nSpecial owner...\n";
}
     

Unterseiten