Events#
Mit dem Event-Add-on automatisierst du Aktionen bei Änderungen an deiner IT-Dokumentation. Wird etwas in i-doit geändert, kannst du Dritt-Systeme automatisch informieren. Dokumentierst du beispielsweise eine neue VM, kann diese automatisch auf einem Virtualisierungs-Host erstellt und provisioniert werden.
Ein Praxisbeispiel findest du auf unserem Blog
Rechtevergabe#
Unter Verwaltung → Berechtigungen → Events können Rechte für Personen und Personengruppen angepasst werden.
Konfiguration#
Die Konfiguration wird über Verwaltung → Add-ons → Events → Hooks erreicht.
404 Not Found
Erscheint beim Aufruf der Event-Konfiguration lediglich eine Fehlermeldung, die Seite könne nicht gefunden werden, liegt das mit aller Wahrscheinlichkeit an einer fehlerhaften Konfiguration des Webservers. Sowohl das Apache-Modul rewrite muss aktiviert sein, als auch das Einlesen der .htaccess-Datei im Installationsverzeichnis von i-doit muss erlaubt sein (AllowOverride All).
Du kombinierst Events mit Befehlsaufrufen. Ein Event wird durch einen Hook ausgelöst -- also bei einer internen Routine in i-doit. Folgende Events stehen zur Verfügung:
- Kategorie
- Neuanlage (nur über die Web GUI)
- Speichern
- Archivieren/Löschen/Wiederherstellen/Purge
- Objekt
- Neuanlage
- Purge
- Objekttyp
- Neuanlage/Speichern
- Purge
Für alle Zustände in der IT-Dokumentation gibt es passende Events. Du kannst beliebig viele Event-zu-Befehlsaufruf-Kombinationen anlegen.
Beim Eintreten eines konfigurierten Events führt i-doit sofort ein Shellscript aus. Beachte dabei:
- Das Script muss vom Benutzer bzw. der Gruppe ausführbar sein, unter der der Webserver läuft (unter Debian:
www-data). - Setze unter GNU/Linux das Rechtebit zum Ausführen (
chmod +x). - Die Programmiersprache ist beliebig, solange das Betriebssystem sie unterstützt (Bash, PHP, Python, Perl etc.).
Das Shellscript erhält Informationen zum Event als BASE64-kodiertes JSON. Hier ein Beispiel nach der Dekodierung -- es zeigt das Speichern eines Kategorie-Eintrags:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | |
In diesem Beispiel wurde die Kategorie Allgemein für das Objekt "Headquarter Network" erfolgreich gespeichert.
Du kannst zusätzliche, statische Parameter konfigurieren, die dem Shellscript übergeben werden. Platzhalter werden dabei nicht unterstützt.
i-doit Controller
Die beschriebenen Shellscripte sind nicht nur dafür geeignet, Dritt-Systeme zu steuern, sondern auch i-doit selbst. Es spricht nichts dagegen, über ein solches Shellscript das Kommandozeilen-Tool von i-doit, den Controller, oder die API aufzurufen. Dadurch können automatisierte Arbeiten innerhalb der IT-Dokumentation erledigt werden.
Performance
Die Befehlsaufrufe werden synchron ausgeführt -- beim Klick auf Speichern wartet i-doit, bis das Shellscript beendet ist. Bei vielen oder umfangreichen Scripts kann das die Web GUI ausbremsen.
Empfehlung: Baue eine Queue. Dein Shellscript nimmt die Parameter entgegen und speichert sie in einer temporären Datei. Ein separater Cronjob arbeitet diese Queue dann asynchron ab. So spürt der Benutzer keine Verzögerung.
Logging#
Jede Ausführung eines Event-Befehlsaufrufs wird protokolliert. Die letzten 500 Einträge findest du unter Verwaltung → Add-ons → Events → Historie (Log).
Releases#
| Version | Datum | Changelog |
|---|---|---|
| 1.3 | 05.09.2022 | [Task] Change link to knowledgebase [Task] PHP 8.0 Compatibilit [Task] Design Compatibility [Bug] Events are not triggered when changing/assigning roles |
| 1.2 | [Improvement] The event contains information about the user [Bug] Custom category constants are not passed, when ranking entries | |
| 1.1.1 | 31.07.2019 | [Bug] Drop-down empty in hooks for object types |
| 1.1 | 30.01.2019 | [Bug] Constant of user defined categories is missing |
| 1.0.1 | [Bug] i-doit 1.12 compatibility | |
| 1.0 | 03.07.2018 | Initiales Release |



