Na, kam Ihr Fachbereichsleiter mal wieder um die Ecke, um nach stündlichen Emails zu fragen, die aktuelle Reports und Auswertungen enthalten? Klar, mit einem Shell- oder PowerShell-Script können Sie das recht einfach erledigen. Und in Automic schaffen Sie es mit SEND_MAIL.

Ich will Ihnen aber dafür eine andere elegante Lösung zur Verfügung stellen, die ebenfalls in Automic funktioniert. Und zwar über Benachrichtigungsobjekte.

Die Objekte dafür können Sie einfach am Ende des kurzen Einführungsartikels herunterladen.

Dieser Blogpost ist eine Neuauflage eines Artikels aus dem alten AutomicBlog (Februar 2013). Die Objekte aus der damaligen V9 funktionieren auch heute, auf V11, noch tadellos.

Das Benachrichtigungs-Objekt CALL

Mit einem Benachrichtigungsobjekt kann man externe Dateien einer beliebigen RunID als Attachment verschicken.

Unter meinen bereitgestellten Objekten gibt es dafür das Benachrichtigungs-Objekt CALL_EMAIL_OUTPUTFILES. Es erlaubt, alle Parameter per PromptSet einzugeben.

Prompt Set um Automic Output per Mail zu verschicken

Wenn Sie im PromptSet auswählen, dass die RunID automatisch erkannt werden soll, wird die angegebene ID ignoriert und CALL_EMAIL_OUTPUTFILES versucht, die RunID automatisch herauszufinden:

  • Wird CALL_EMAIL_OUTPUTFILES in einem Workflow verwendet, wählt es die RunID des Vorgängers im Workflow.
  • Ansonsten verwendet es den Wert von &UC_CAUSE_NR – beispielsweise wenn es über den “Output-Scan” eines Jobs aktiviert wurde

JOBS zum Versenden anderer Dateien

Manchmal können oder sollen Automic-Jobs Dateien nicht als externer Output registriert werden. Wenn Sie solche Dateien verschicken wollen, kommen die folgenden JOBS zum Einsatz.

Die beiden Jobs JOBS_*_REGISTER_EMAIL_OUTPUTFILES (je einer für Unix und Windows) registrieren das per PromptSet angegebene File als externen Output und versenden es danach per Output-Scan mit CALL_EMAIL_OUTPUTFILES.

Damit versenden Sie auch Dateien, die nicht von Automic-Jobs erstellt werden.

Die Objekte im Überblick

Ich habe die Objekte in vier Bereiche unterteilt. Die vier Dateien können Sie als Archiv am Ende des Artikels herunterladen.

Die vier Bereiche sind: FRONTEND, LIBRARY, EXAMPLES und UC4.RUNBOOK_PART.

FRONTEND

Enthält Objekte, die für den direkten Aufruf gedacht sind.

  • CALL_EMAIL_OUTPUTFILES
    Siehe Beschreibung weiter oben. Verwendet PRPT_EMAIL_OUTPUTFILES.
  • JOBS_*_REGISTER_EMAIL_OUTPUTFILES
    Siehe Beschreibung weiter oben. Verwendet die PrompSets UC4.RB.PRPT.*.AGENTS, PRPT_FILE, PRPT_EMAIL_OUTPUTFILES.
    Ruft im Output-Scan CALL_EMAIL_OUTPUTFILES auf.

LIBRARY

Enthält Objekte, die von den „FRONTEND“ Objekten benötigt werden.

  • FILTER_REGISTER_OUTPUTFILE
    Output-Filter erkennt, ob im Job das Script-Sprachmittel „:REGISTER_OUTPUTFILE“ ausgeführt wurde.
  • PRPT_EMAIL_OUTPUTFILES
    PromptSet für Mailadressen, Mail-Betreff und RunID.
  • PRPT_FILE
    PromptSet für Filenamen (vollqualifiziert)
  • VARA_OUTPUTFILES_TASKIDNR_SRCTYPE
    Werteliste für “automatically” und “manually”.

EXAMPLES

Drei Beispiele zur Demonstration der diversen Use-Cases.

  • EXAMPLE1_JOBP
    Zeigt die Verwendung in einem Workflow. Der erste Job im Workflow erstellt und registriert eine externe Datei. Der Aufruf von CALL_EMAIL_OUTPUTFILES danach nimmt automatisch die RunID seines Vorgängers und versendet dessen externe Dateien.
  • EXAMPLE1_JOBS_CREATES_OUTPUTFILE
    Beispiel-Job für Workflow-Beispiel.
    Registriert die externe Datei im “Output”-Tab.
  • EXAMPLE2_JOBS_CREATES_OUTPUTFILE
    Erstellt eine externe Datei und registriert sie mittels „:REGISTER_OUTPUTFILE“. Aufruf von CALL_EMAIL_OUTPUTFILES mittels “Output-Scan”.
  • EXAMPLE3_SCRI_EMAIL_FILE
    Versand einer externen Datei per Script.

UC4.RUNBOOK_PART

Diese Objekte sind NICHT von mir, sondern sind Teil der UC4 Runbook Templates von Automic, die mit V9 und V10 der AE als Transportkoffer-Datei “UC4_RB_Functions” im DB-Verzeichnis mit den Initialdaten ausgeliefert wurden. Automic übernimmt dafür keine Haftung, und ich erst recht nicht.
Hinweis: Würde man diese Lösung in V11 oder höher neu bauen, so würde man statt dieser Runbook-Objekte das ITPA_SHARED Actionpack verwenden.

  • UC4.RB.PRPT.UNX.AGENTS bzw. UC4.RB.PRPT.WIN.AGENTS
    PromptSet mit einer Auswahlliste mit allen Unix bzw. Windows Agents und Login-Objekten des aktuellen Mandanten.
  • UC4.RB.VARA.UNX.SQLI.AGENT bzw. UC4.RB.VARA.WIN.SQLI.AGENT
    SQLI-Variablen zur Ermittlung aller Unix bzw. Windows Agents des aktuellen Mandanten.
  • UC4.RB.VARA.UNX.SQLI.LOGINS bzw. UC4.RB.VARA.WIN.SQLI.LOGINS
    SQLI-Variablen zur Ermittlung aller Unix bzw. Windows Login-Objekte des aktuellen Mandanten.

Ein paar Einschränkungen zur Nutzung

  • Der Email-Versand von externen Dateien erfolgt direkt vom Agent. Wenn ein Agent keine Berechtigung dafür hat, funktionieren die Objekte nicht (Firewall, Whitelist am SMTP-Server, o.Ä.).
  • Man kann nicht an endlos viele Adressen verschicken. 8 Adressen mit insgesamt 240 Zeichen haben bei mir aber problemlos funktioniert.
  • Die Email hat zwar einen Betreff, aber keinen Body. Wenn Sie nette Nachrichten mit Ihren Berichten verschicken wollen, können Sie das PromptSet entsprechend erweitern oder im CALL-Objekt einen Standard-Text einfügen.
  • Sie können die Objekte nach Belieben verwenden und modifizieren. Wenn Sie sie weitergeben, erwähnen Sie mich doch bitte – am Besten positiv 😉
  • Und zum Schluss noch: Ich übernehme keine Haftung für irgendwelche Probleme oder Fehler, Datenverlust oder sonstigen Schaden, der Ihnen oder Ihrem IT-System durch die Verwendung meiner Dateien/Objekte entsteht. Ich stelle diese Objekte ohne Gewährleistung zur Verfügung.

Probieren Sie es selbst aus

Jetzt können Sie sich die XML-Dateien als Archiv herunterladen und sie selbst testen.

Viel Spaß damit!