Der i-net HelpDesk kann von Extern durch eingelesene E-Mails, die Parameter enthalten, gesteuert werden. Erforderlich sind das Festlegen einer Start-Zeichenfolge und einer Ende-Zeichenfolge. Der HelpDesk-Server ermittelt dann aus dem dazwischen stehenden Text das zu ändernde Feld und den zu setzenden neuen Wert.
Folgende Felder lassen sich in einem Ticket des i-net HelpDesk von außen beeinflussen:
Feldbezeichnung | Parametername | Format / Beispiel |
---|---|---|
Auftragsnummer | aufid | |
Auftrags-Freifelder 1-4, 6, 7 | auftragfreiX | |
Kategorie | betreff | Laser\Drucker |
Deadline | deadlinezeit | 15.03.21, 07:23 , 3/15/21, 7:23 AM , 15/03/2021, 07:23 |
ITIL | itilbezeichnung | |
Kennung | kennung | |
Klassifizierung | klassifizierung | |
Priorität | pribezeichnung und priid[Zahlenwert] | |
Ressource | resbezeichnung | Main Resource\Sub Resource |
E-Mail des Absenders | sender | |
Status | statusbezeichnung und status[Zahlenwert] (nur für existierende Tickets) | |
Betreff | subject | |
Wiedervorlage-Zeit | wvzeit |
Hinweis: Nicht unterstützte Parameter werden nicht eingelesen (seit Version 21.4)
Wenn Start- und Ende-Tag gesetzt sind, dann wird der Text (Body) einer eingelesenen E-Mail nach eventuell vorhandenen Zeichenfolgen gescannt.
Syntax:
StartTagZeichenfolge ParameterName = ParameterWert EndTagZeichenfolge
Wichtig: Nur Start- und Ende-Tag sind Groß-/Kleinschreibung unterschieden, der Parametername sowie Parameterwert sind nicht Groß-/Kleinschreibung unterschieden. Ob sich vor oder hinter dem Gleichheitszeichen ein Leerzeichen befindet, ist unerheblich. Schließen Sie keine Sonderzeichen (z.B. Zeilenumbrüche) ein!
Die Deadline wird entsprechend dem folgenden Java-Code bestimmt:
DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.GERMAN).parseObject(str); DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.US).parseObject(str); DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.UK).parseObject(str); DateFormat.getDateTimeInstance().parse( str );
Das nachfolgende Beispiel setzt den Status eines vorhandenen Tickets auf "in Arbeit" (jeder Status wird durch eine Zahl repräsentiert, hier 200) sowie die Priorität auf "hoch".
#Start# Status = 200 #Ende# #Start# pribezeichnung = hoch #Ende#
Hinweis: Die Werte von Feldern existierender Tickets können nicht auf ihre jeweiligen Default-Werte zurückgesetzt werden. Beispiel: Default-Ressource ist "First level", das Ticket ist in der Ressource "Second level". Per Parameter lässt sich die Ressource nicht auf "First level" ändern. Dies ist technisch bedingt.
Ein neues Ticket soll erzeugt und automatisch dispatcht (an Ressource autorisiert) werden:
#Start# Status = 100 #Ende# #Start# pribezeichnung = hoch #Ende# "#Start# resbezeichnung = First Level #Ende#"
Hinweis: Nach dem Einlesen der E-Mail in den i-net HelpDesk werden Start- und Ende-Tag nicht mehr angezeigt. Aus der Zeichenfolge im E-Mail #Start# Status = 200 #Ende#
wird so im i-net HelpDesk Status = 200
. Dadurch besteht erstens eine Kontrolle bezüglich der übermittelten Parameter und zweitens wird gewährleistet, dass, bei mehrfachem Mail-"Ping-Pong" zwischen Absender und Empfänger, nur eine gültige Parameter-Folge existiert.
Der i-net HelpDesk-Server sucht bei einer eingehenden E-Mail im Betreff (subject) nach dem Schlüsselwort "TicketID". Danach wird eine Zahl mit einer anschließenden Buchstabenfolge erwartet.
Beispiel:: "AW: Druckerstörung TicketID 824RPH".
Im Beispiel muss also die eingehende E-Mail im Betreff die Zeichenfolge 'TicketID 824RPH' besitzen, damit diese E-Mail als weiterer Schritt zu Auftrag-Nr.: 824 hinzugefügt werden kann.
Nachfolgend der Java-Code, der die TicketID generiert. Sie müssen den Code entsprechend für Ihre Sprache adaptieren:
public String getTicketID(String aufId){ String ticketIdString = "TicketID "; char values[] = aufId.toCharArray(); char key[] = new char[values.length*2]; System.arraycopy(values,0,key,0,values.length); for(int i = 0; i<values.length; i++) { if (i==0) key[values.length] = (char)(values[i]+26); else key[values.length+i] = (char)(values[i-1] - values[i] + 74); } return ticketIdString + new String(key); }