ProzessManagement - Ticket Verantwortlicher
ProzessManagement - Ticket Verantwortlicher
Hi zusammen,
bin relativ neu in OTRS und bin gerade dabei unseren Bestellprozess abzubilden. Hierbei ist es wichtig, dass der, das die Bestellung prüft variabel anhand des Inhalts eines DynamicFields zugewiesen wird? Ist das bei OTRS 5.0.4 möglich?
Das heißt, das der Mitarbeiter bei der Eingabe seines Bestellwunsches seinen direkten Vorgesetzten angibt. An diesen soll das Ticket im nächsten Schritt zugewiesen werden.
Grüße
Lalle
bin relativ neu in OTRS und bin gerade dabei unseren Bestellprozess abzubilden. Hierbei ist es wichtig, dass der, das die Bestellung prüft variabel anhand des Inhalts eines DynamicFields zugewiesen wird? Ist das bei OTRS 5.0.4 möglich?
Das heißt, das der Mitarbeiter bei der Eingabe seines Bestellwunsches seinen direkten Vorgesetzten angibt. An diesen soll das Ticket im nächsten Schritt zugewiesen werden.
Grüße
Lalle
Re: ProzessManagement - Ticket Verantwortlicher
Folgendes funktioniert leider nicht.
Der Verantwortliche wird in der TransitionAction nicht angepasst.
Egal ob ich in das "DirectManager" Feld die ID oder den Usernamen des Managers schreibe :-/ Weiß einfach nicht mehr weiter
Code: Select all
elsif (
defined $Param{Config}->{CustomResponsible}
&& $Param{Config}->{CustomResponsible} eq 'FirstLine'
)
{
my $NewResponsibleID = $Param{Ticket}->{DynamicField_DirectManager};
$Success = $Kernel::OM->Get('Kernel::System::Ticket')->TicketResponsibleSet(
TicketID => $Param{Ticket}->{TicketID},
NewUserID => $NewResponsibleID,
UserID => $Param{UserID},
);
Der Verantwortliche wird in der TransitionAction nicht angepasst.
Egal ob ich in das "DirectManager" Feld die ID oder den Usernamen des Managers schreibe :-/ Weiß einfach nicht mehr weiter
Last edited by Lalle on 22 Mar 2016, 20:56, edited 1 time in total.
-
- Znuny guru
- Posts: 2210
- Joined: 13 Mar 2014, 09:16
- Znuny Version: 6.0.14
- Real Name: Rolf Straub
Re: ProzessManagement - Ticket Verantwortlicher
Poste mal deinen ganzen if-else Block.
Wir haben auch ein "dynamisches" Modul dafür (der funktioniert):
In dem dynamischen Feld liegt die ID des entsprechenden Nutzers.
Wir haben auch ein "dynamisches" Modul dafür (der funktioniert):
Code: Select all
elsif ( defined $Param{Config}->{CustomResponsible}
&& $Param{Config}->{CustomResponsible} eq 'VacationResponsibleSet'
)
{
# Custom Keyword found, now read the dynamic Field 300HRVacationRequestorIDHidden and set it
my $NewResponsibleID = $Param{Ticket}->{DynamicField_300HRVacationRequestorIDHidden};
$Success = $Kernel::OM->Get('Kernel::System::Ticket')->TicketResponsibleSet(
TicketID => $Param{Ticket}->{TicketID},
NewUserID => $NewResponsibleID,
UserID => $Param{UserID},
);
}
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
Re: ProzessManagement - Ticket Verantwortlicher
Hi,
danke für deine Unterstützung. Anbei der ganze Block. Ist aber alles noch unangetastet. Nur der eine Block ist hinzugekommen.
Der eine Block sieht zumindest sehr nach deinem aus. Haben wohl das gleiche Beispiel genommen.
Trägst du die ID (Zahl?) ein oder den Usernamen in dem dynamischen Feld im Ticketformular?
Grüße
Lalle
danke für deine Unterstützung. Anbei der ganze Block. Ist aber alles noch unangetastet. Nur der eine Block ist hinzugekommen.
Code: Select all
$Success = 0;
if (
defined $Param{Config}->{Responsible}
&& $Param{Config}->{Responsible} ne $Param{Ticket}->{Responsible}
)
{
$Success = $Kernel::OM->Get('Kernel::System::Ticket')->TicketResponsibleSet(
TicketID => $Param{Ticket}->{TicketID},
NewUser => $Param{Config}->{Responsible},
UserID => $Param{UserID},
);
}
elsif (
defined $Param{Config}->{ResponsibleID}
&& $Param{Config}->{ResponsibleID} ne $Param{Ticket}->{ResponsibleID}
)
{
$Success = $Kernel::OM->Get('Kernel::System::Ticket')->TicketResponsibleSet(
TicketID => $Param{Ticket}->{TicketID},
NewUserID => $Param{Config}->{ResponsibleID},
UserID => $Param{UserID},
);
}
elsif (
defined $Param{Config}->{CustomResponsible}
&& $Param{Config}->{CustomResponsible} eq 'FirstLine'
)
{
my $NewResponsibleID = $Param{Ticket}->{DynamicField_DirectManager};
$Success = $Kernel::OM->Get('Kernel::System::Ticket')->TicketResponsibleSet(
TicketID => $Param{Ticket}->{TicketID},
NewUserID => $NewResponsibleID,
UserID => $Param{UserID},
);
}
else {
# data is the same as in ticket nothing to do
$Success = 1;
}
if ( !$Success ) {
my $CustomMessage;
if ( defined $Param{Config}->{Responsible} ) {
$CustomMessage = "Responsible: $Param{Config}->{Responsible},";
}
else {
$CustomMessage = "ResponsibleID: $Param{Config}->{ResponsibleID},";
}
$Kernel::OM->Get('Kernel::System::Log')->Log(
Priority => 'error',
Message => $CommonMessage
. 'Ticket responsible could not be updated to '
. $CustomMessage
. ' for Ticket: '
. $Param{Ticket}->{TicketID} . '!',
);
return;
}
return 1;
}
Der eine Block sieht zumindest sehr nach deinem aus. Haben wohl das gleiche Beispiel genommen.
Trägst du die ID (Zahl?) ein oder den Usernamen in dem dynamischen Feld im Ticketformular?
Grüße
Lalle
Re: ProzessManagement - Ticket Verantwortlicher
Hi,
was coded ihr da? Das Process Modul kann das doch.
Macht doch 'n Dropdown mit allen Responsiblen und baut 'ne ACL (falls nötig) die die Liste auf die möglichen Bearbeiter/Responsible einschränkt oder gleich die Transition Action Responsible Set verwenden.
Flo
was coded ihr da? Das Process Modul kann das doch.
Macht doch 'n Dropdown mit allen Responsiblen und baut 'ne ACL (falls nötig) die die Liste auf die möglichen Bearbeiter/Responsible einschränkt oder gleich die Transition Action Responsible Set verwenden.
Flo
OTRS 2025 SILVER (Prod)
OTRS 2025 auf Debian 12 (Test)
Znuny 7.x latest version testing auf Debian 12
-- Ich beantworte keine Forums-Fragen PN - No PN please
I won't answer to unfriendly users any more. A greeting and regards are just polite.
OTRS 2025 auf Debian 12 (Test)
Znuny 7.x latest version testing auf Debian 12
-- Ich beantworte keine Forums-Fragen PN - No PN please
I won't answer to unfriendly users any more. A greeting and regards are just polite.
Re: ProzessManagement - Ticket Verantwortlicher
Aber auch wenn wir ein Dropdown mit den Verantwortlichen machen muss die Transition Action das dynamische Feld irgendwie auslesen und dann mit Responsible Set das Ticket zum Verantwortlichen schieben. Macht also in dem Sinne keinen Unterschied.
-
- Znuny guru
- Posts: 2210
- Joined: 13 Mar 2014, 09:16
- Znuny Version: 6.0.14
- Real Name: Rolf Straub
Re: ProzessManagement - Ticket Verantwortlicher
Hey Wurzel,
mein Beispiel kam noch von früher, als TransitionAction keine dynamischen Werte "konnten". Außerdem lässt sich unser Use-Case damit in einem Block abbilden, statt (ggf. vieler) ACLs zu nutzen.
@Lalle
was bewirkt die Abfrage "... eq "FirstLine" ?
Ich vermute dass dein Code in Ordnung ist, allerdings nicht ausgeführt wird. Probier mal in den Block eine Fehlermeldung zu bauen, etwa:
Dann häng dich an den Apache Log während die TA ausgeführt wird.
Und ja, wir speichern die ID, sollte allerdings auch mit dem Login gehen (nur könnte dieser sich mit der Zeit ändern).
mein Beispiel kam noch von früher, als TransitionAction keine dynamischen Werte "konnten". Außerdem lässt sich unser Use-Case damit in einem Block abbilden, statt (ggf. vieler) ACLs zu nutzen.
@Lalle
was bewirkt die Abfrage "... eq "FirstLine" ?
Ich vermute dass dein Code in Ordnung ist, allerdings nicht ausgeführt wird. Probier mal in den Block eine Fehlermeldung zu bauen, etwa:
Code: Select all
my $message = "If-Block erreicht!";
$Kernel::OM->Get('Kernel::System::Log')->Log(
Priority => 'error',
Message => $message,
);
Und ja, wir speichern die ID, sollte allerdings auch mit dem Login gehen (nur könnte dieser sich mit der Zeit ändern).
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
Re: ProzessManagement - Ticket Verantwortlicher
Die Abfrage eq "FirstLine" macht doch das gleiche wie deine Abfrage
Nur das ich nach einem Anderen Keyword prüfe.
Werde mal die Log Message einbauen und das checken
Code: Select all
elsif ( defined $Param{Config}->{CustomResponsible}
&& $Param{Config}->{CustomResponsible} eq 'VacationResponsibleSet'
Werde mal die Log Message einbauen und das checken
-
- Znuny guru
- Posts: 2210
- Joined: 13 Mar 2014, 09:16
- Znuny Version: 6.0.14
- Real Name: Rolf Straub
Re: ProzessManagement - Ticket Verantwortlicher
Ohja, klar. Nur meinen Code kenn ich, bei dir musst ich nachfragen 

Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
Re: ProzessManagement - Ticket Verantwortlicher
Scheint wirklich nicht bis in die Schleife zu kommen:
[Wed Mar 23 09:25:48 2016] CustomResponsibleSet.pm: Subroutine new redefined at /opt/otrs//Kernel/System/ProcessManagement/TransitionAction/CustomResponsibleSet.pm line 49.
[Wed Mar 23 09:25:48 2016] CustomResponsibleSet.pm: Subroutine Run redefined at /opt/otrs//Kernel/System/ProcessManagement/TransitionAction/CustomResponsibleSet.pm line 87.
-
- Znuny guru
- Posts: 2210
- Joined: 13 Mar 2014, 09:16
- Znuny Version: 6.0.14
- Real Name: Rolf Straub
Re: ProzessManagement - Ticket Verantwortlicher
Und in der TA ist korrekt eingestellt:
- Dein CustomModul (bzw. das angepasste Originalmodul -> nicht empfohlen)
- Das Key/Value Paar: "CustomResponsible" -> "FirstLine"
?
- Dein CustomModul (bzw. das angepasste Originalmodul -> nicht empfohlen)
- Das Key/Value Paar: "CustomResponsible" -> "FirstLine"
?
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
Re: ProzessManagement - Ticket Verantwortlicher
Jap, ist alles richtig konfiguriert:


-
- Znuny guru
- Posts: 2210
- Joined: 13 Mar 2014, 09:16
- Znuny Version: 6.0.14
- Real Name: Rolf Straub
Re: ProzessManagement - Ticket Verantwortlicher
Jop, sieht alles gut aus... So langsam bin ich ratlos. Evtl. noch prüfen:
- Der Prozess ist nicht nur definiert sondern auch deployt
- Die TA wird tatsächlich ausgeführt (also das Ticket "wandert" von einer Aktivität zur nächsten)
Sorry, aber das sollte so funktionieren ^^
- Der Prozess ist nicht nur definiert sondern auch deployt
- Die TA wird tatsächlich ausgeführt (also das Ticket "wandert" von einer Aktivität zur nächsten)
Sorry, aber das sollte so funktionieren ^^
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
Re: ProzessManagement - Ticket Verantwortlicher
Die TA wird ausgeführt. Der andere Schritt in der TA (verschieben in eine andere Queue) wird auch normal ausgeführt. Nur das ändern des Verantwortlichen halt nicht.
Jetzt geht es dir so wie mir. Ich bin auch ratlos
Jetzt geht es dir so wie mir. Ich bin auch ratlos

Re: ProzessManagement - Ticket Verantwortlicher
Ah da ist mir gerade nochwas aufgefallen:
Also läuft er anscheinend schon oben durch die erste IF schleife und kommt dann nicht mehr in die anderen. Aber warum denkt es, das kein Responsible configured sind?Message: Process: Process-adb6adba6dd45640ebf74fa3ad4fbf01 Activity: Activity-7f081938701901794f9753a70488ca9c Transition: Transition-1de22e05b3954aad62018fba9ac77444 TransitionAction: TransitionAction-38f8d71ba7fa3898852e68c8a8ec615c - No Responsible or ResponsibleID configured!
-
- Znuny guru
- Posts: 2210
- Joined: 13 Mar 2014, 09:16
- Znuny Version: 6.0.14
- Real Name: Rolf Straub
Re: ProzessManagement - Ticket Verantwortlicher
Ah, das ist hilfreich.
Vor der if-else Schleife wird geprüft ob überhaupt ein Parameter "Responsible" oder "ResponsibleID" übergeben wird, sonst steigt das Modul aus.
Pass mal (fast direkt über dem If-Block) die Abfrage an:
Vor der if-else Schleife wird geprüft ob überhaupt ein Parameter "Responsible" oder "ResponsibleID" übergeben wird, sonst steigt das Modul aus.
Pass mal (fast direkt über dem If-Block) die Abfrage an:
Code: Select all
if ( !$Param{Config}->{ResponsibleID} && !$Param{Config}->{Responsible} && !$Param{Config}->{CustomResponsible}) {
$Kernel::OM->Get('Kernel::System::Log')->Log(
Priority => 'error',
Message => $CommonMessage . "No Responsible or ResponsibleID configured!",
);
return;
}
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
Re: ProzessManagement - Ticket Verantwortlicher
Öfter mal was neues
Die Transition ist genau die, die die TransistionAction ausführen sollMessage: Module for TransitionAction: TransitionAction-38f8d71ba7fa3898852e68c8a8ec615c missing or not found!
Message: Getting TransitionActionList for Process: Process-973f95b1a50e2808c04fef294aa6a758, Transition: Transition-1de22e05b3954aad62018fba9ac77444 failed.