Blog

Vorstellung freie Erweiterung "ConsoleTools"

02.06.2020 // Renée Bäcker

Ganz viele Aufgaben kann ein Agent über die Konsole erledigen - vom Bereinigen der Caches über neu laden der Konfiguration bis hin zum Anlegen von Benutzern, Agenten oder Queues. Im Laufe der Zeit gab es bei Kundenprojekten immer wieder die Situation, dass wir schnell mal was erledigen wollten. In manchen Fällen gab es aber kein passendes Kommando.

Eine Sammlung einiger Kommandos ist die Erweiterung ConsoleTools. Diese Tools werden wir nach und nach erweitern. Aber welche Tools gibt es denn in der Erweiterung?

Admin::ITSM::ConfigItem::Add

Entstanden ist diese Kommando, weil wir für unsere Addons den Interessenten Demosysteme bereitstellen. Bei einigen brauchen wir ConfigurationItems (z.B. bei CINotifications), die wir dann mit einem Skript in das System laden.

    $ perl bin/otrs.Console.pl Admin::ITSM::ConfigItem::Add --class Software --name OTRS --incistate ... --deplstate ...

Admin::User::Search

Wie bei vielen anderen Kommandos auch, hat man die gleiche Funktionalität auch in der Weboberfläche, aber häufig geht es in der Konsole einfach schneller.

Mit diesem Kommando kann man Agenten suchen:

    $ perl bin/otrs.Console.pl Admin::User::Search --term root*

Maint::NotificationEvent::Dump

Sie brauchen schnell die Informationen über eine Ticketbenachrichtigung? Dann hilft dieses Kommando weiter.


$ perl bin/otrs.Console.pl Maint::NotificationEvent::Dump --id 1
Print dump of all event based notifications...
$VAR1 = [
  {
    'ChangeBy' => '1',
    'ChangeTime' => '2017-11-26 08:09:58',
    'Comment' => '',
    'CreateBy' => '1',
    'CreateTime' => '2017-11-26 08:09:58',
    'Data' => {
      'AgentEnabledByDefault' => [
        'Email'
      ],
      'Events' => [
        'NotificationNewTicket'
      ],
      'Recipients' => [
        'AgentMyQueues',
        'AgentMyServices'
      ],
      'SendOnOutOfOffice' => [
        '1'
      ],
      'Transports' => [
        'Email'
      ],
      'VisibleForAgent' => [
        '1'
      ],
      'VisibleForAgentTooltip' => [
        'You will receive a notification each time a new ticket is created in one of your "My Queues" or "My Services".'
      ]
    },
    'ID' => '1',
    'Message' => {
      'de' => {
        'Body' => 'Hallo ....'
      }
    },
  }
]

Maint::Ticket::CheckFlag

Warum auch immer, gab es in einem Kundensystem das Problem, dass für einige User die Tickets als gelesen markiert waren, aber nicht alle Artikel des Tickets. Das führte zu dem Problem, dass - wenn der Agent/die Agentin den letzten ungelesenen Artikel liest - nochmal versucht wird das gesamte Ticket als gelesen zu markieren.

Das liefert dann Fehlermeldungen in den Logs.

Mit diesem Kommando kann man rausfinden, für welche Agenten dieses Problem besteht und man kann das auch gleich fixen lassen:


$ perl bin/otrs.Console.pl Maint::Ticket::CheckFlag --fix-flag
Check 'Seen' flag for all users and all tickets...
Checks for User root@localhost
Ok for user root@localhost.
Checks for User ao
Ok for user ao.
Checks for User at
Ticket 23 marked as seen, but not all articles are marked as seen
Checks for User ta
Ok for user ta.
Checks for User aa
Ok for user aa.
Checks for User hm
Ok for user hm.
Checks for User hu
Ok for user hu.
Checks for User kit
Ok for user kit.
Done.

Maint::Ticket::Info

Gerade bei der Entwicklung und dem Testen von GenericAgent-Jobs kann das sehr nützlich sein. Dann kann man den GenericAgent auslösen und man muss nicht im Browser das Ticket neu laden um Änderungen zu sehen.

Oder wenn sich ein Agent beschwert, dass er/sie das Ticket nicht sehen kann.

Das Kommando gibt nur ein paar Basisinformationen aus, was aber in vielen Fällen schon ausreicht.

Beispielausgabe:


$ perl bin/otrs.Console.pl Maint::Ticket::Info --id 1
Infos about a ticket...
TicketID: 1
Ticket#: 2015071510123456
Title: Welcome to OTRS!
State: open
Owner: root@localhost
Priority: 3 normal
Queue: Raw
Done.

Admin::DynamicField::CheckBackends

... ist das neueste Kommando in der Sammlung. Nach einem Upgrade wenn noch nicht alle Erweiterungen aktualisiert wurden kann es sein, dass die Backends nicht bereitstehen. Das führt dann zu Fehlern. Mit diesem Befehl wird einfach geprüft, ob die notwendigen Backends - die auch genutzt werden - existieren.

Sie haben noch Fragen? Dann nehmen Sie doch einfach Kontakt zu uns auf.

Permalink:

Archiv