TCMS - Report für externe Anwendungen bereitstellen
Über "Datei" → "Report exportieren" lässt sich ein maschinenlesbarer Report im CSV-Format exportieren. Möchte man die Daten regelmäßig in einem externen Programm nutzen, kann der Export mit wenigen Schritten automatisiert werden. Der Report lässt sich dadurch vollständig automatisiert über HTTP(S), FTP oder SMB bereitstellen oder auf einem Netzlaufwerk ablegen.
Konfiguration eines Export-Ordners
Entscheiden Sie zunächst, ob Sie Ihren Report auf einem Netzlaufwerk ablegen (PUT) oder zum Download für andere Anwendungen (PULL) bereitstellen möchten.
Report auf ein Netzlaufwerk
Wenn Sie Ihren Report auf einem Netzlaufwerk ablegen möchten, konfigurieren Sie das Laufwerk in der Kommbox des TCMS unter „Peripherie“ → „Laufwerke“ → „Neues Netzlaufwerk“. Laufwerke können hier über SMB, NFS, SSH oder WebDAV eingebunden werden.
Anhand des hier vergebenen Laufwerksnamens muss im folgenden Schritt der Exportpfad entsprechend angepasst werden:
EXPORT_PATH="/mnt/shares/net/#Laufwerksname#"
Report zum Download freigeben
Legen Sie das Laufwerk, das Sie zur Freigabe Ihres Reports verwenden möchten, wie in der Anleitung RangeeOS - Austauschlaufwerk auf dem Thin Client beschrieben an.
Anhand des für das Verzeichnis vergebenen Laufwerksnamens muss im folgenden Schritt der Exportpfad entsprechend angepasst werden:
EXPORT_PATH="/mnt/shares/local_dir/#Laufwerksname#"
Konfigurationsexport automatisieren
Zur Automatisierung des Exports können Sie in der Kommbox des TCMS ein Skript hinterlegen. Im folgenden Beispiel wird ein Report einmalig beim Start des TCMS und anschließend zu jeder vollen Stunde erstellt. Bitte passen Sie EXPORT_PATH und REPORT_FILENAME entsprechend an:
#-------------------------------------Bitte anpassen-------------------------------------# #Lokales Verzeichnis für den Export. Übernehmen Sie bitte Ihren zuvor definierten EXPORT_PATH EXPORT_PATH="/mnt/shares/local_dir/#Laufwerksname#" #Definiert den Dateinamen des Report-Exports - frei wählbar REPORT_FILENAME="report.csv" #----------------------------------------------------------------------------------------# # Dieser Befehl exportiert den TCMS Report in das lokale Verzeichnis COMMAND="/opt/rangee/tcms/symfony tcms:export-report $EXPORT_PATH/$REPORT_FILENAME" # Temporäre Datei für den aktuellen Crontab TEMP_CRON=$(mktemp) # Aktuellen Crontab in die temporäre Datei schreiben crontab -l > "$TEMP_CRON" 2>/dev/null # Prüfen, ob der Befehl bereits im Crontab existiert grep -F "$COMMAND" "$TEMP_CRON" > /dev/null if [ $? -eq 0 ]; then echo "Der Cronjob existiert bereits." else # Den neuen Cronjob hinzufügen (jede Stunde) echo "0 * * * * $COMMAND" >> "$TEMP_CRON" # Den aktualisierten Crontab laden crontab "$TEMP_CRON" fi # Temporäre Datei löschen rm "$TEMP_CRON" # Command einmalig ausführen: $COMMAND
Das Skript können Sie in der Kommbox unter „Werkzeuge“ → „Skripte“ → „Neue Verbindung“ hinterlegen. Verwenden Sie dabei die folgenden Einstellungen:
- Verbindungsname: frei wählbar
- Als root ausführen: ja
- Skript: das erstellte Skript einfügen
- Automatischer Start: ja
Starten Sie den TCMS anschließend einmal neu.
Abruf des Reports
Ein auf einem Netzlaufwerk abgelegter Report ist nach Ausführung des Skripts direkt von dort abrufbar.
Die Abrufoptionen für das lokale Laufwerk sind ebenfalls im Artikel RangeeOS - Austauschlaufwerk auf dem Thin Client beschrieben. Per HTTPS können Sie einen über das obige Skript erstellten Report (bei Laufwerksname="report") unter folgender Adresse herunterladen:
https://#Client#/shares/report/report.csv