Dies ist der dritte Teil einer Serie von Blog-Beiträgen über die Jira App Insight von Mindville. In diesem Beitrag wird der Ablauf von der Installation, über die Schemadefinition, bis zur Nutzung der Objekte in Jira Issues gezeigt. Er soll zeigen, wie man die grundlegende Konfiguration der App vornimmt und Einsteigern ermöglichen, sich einen ersten Eindruck von der scheinbaren Komplexität zu verschaffen. Grundlegende Jira Administrations-Kenntnisse werden dabei vorausgesetzt!

Einleitung

Als Beispiel für ein einfaches Insight-Modell wird hier die Verwaltung von Mitarbeiter-Zertifizierungen implementiert. Mit einem speziellen Issue Type sollen die Nutzer in der Lage sein, das Ablaufdatum ihrer Zertifizierungen zu aktualisieren. Um die Verständlichkeit so hoch wie möglich zu halten und jeden Bereich betrachten zu können, wird hier nur dieser sehr spezielle Use Case vorgestellt. Eine Anpassung und Erweiterung an eigene Bedürfnisse dürfte dann kein allzu großes Hindernis mehr darstellen.

Installation & Lizensierung

Insight ist derzeit in der Version 8.4.3 verfügbar (Stand Mai 2020). Für die Installation gehen Sie zum Marketplace und suchen nach ‚Insight – Asset Management‘. Mindville ist dort als ‚Top Vendor‘ eingestuft. Insight bietet die Möglichkeit, das Programm für 30 Tage kostenlos zu testen. Ausreichend Zeit, um dieses Beispiel durchzuführen. Es gibt es Lizenzen für Jira Server, Jira Data Center und für Jira Cloud. In der Cloud-Variante fehlen jedoch einige Features, wie etwa Object Schema Templates, Import & Export, Berichte, Widgets und Label Templates.[1]

Nach der Installation befindet sich eine neue Option ‚Insight‘ in der oberen Navigationsleiste von Jira (siehe Screenshot).

Objektschema

Insight erlaubt das Definieren und Strukturieren von Assets in einer sehr flexiblen Art. Ein Objektschema ist ein Modell von Objekten und deren Beziehungen. Für Insight im Speziellen ist es eine Sammlung von Objekttypen, Attributen, Berechtigungen, Icons, Status und Automationsregeln. Man könnte es als Rahmen für zusammengehörende Konfigurationen betrachten, wobei jeder Rahmen für einen bestimmten Anwendungsbereich gedacht ist. So kann man ein Schema für CRM, ein weiteres für ITSM usw. erstellen.

Unter Insight -> Insight Object Schemas befindet sich eine Übersicht aller vorhandenen Objektschemas. Sollten Sie noch keine Schemas angelegt haben, gibt es hier die Möglichkeit, dies zu tun. Klicken Sie auf ‚Create Object Schema‘, um ein Objektschema zu erstellen. Für ein komplett eigenes Schema, wählen Sie das leere Schema. Zunächst muss nur ein Name für das Grundgerüst vergeben werden. Es wird ein Schema-Key vorgeschlagen, welcher angepasst werden kann. Er ist später Bestandteil der IDs von Objekten dieses Schemas und ist grundsätzlich nicht änderbar. Die Ansicht erinnert an den Screen beim Anlegen eines Projekts in Jira.

Für unser Beispiel erstellen wir ein leeres Schema mit dem Titel ‚Zertifikats-Management Schema‘. Wählen Sie einen Key Ihrer Wahl und klicken Sie create.

Berechtigungen

Sie sehen nun das leere Objektschema. Insight bietet ein Berechtigungsschema auf verschiedenen Strukturebenen an; für das gesamte Insight, für ein bestimmtes Objektschema oder für einen bestimmten Objekttypen. Unter Object Schema -> Configure -> Roles definieren Sie beispielsweise, welche Berechtigungen im aktuellen Objektschema gelten sollen. Dafür bietet Insight folgende Rollen:

  • Object Schema Managers: Kann das Objektschema ändern, Objekte und Objekttypen erstellen, Icons & Referenzen ändern
  • Object Schema Developers: Kann Objekte erstellen und ändern
  • Object Schema Users: Kann Objekte sehen und suchen

Sie können dort Gruppen oder einzelne User eintragen.

Detailliertere Informationen über Berechtigungen in Insight finden Sie im vorherigen Artikel.

Objekttypen

Nun existiert ein leeres Schema, und es ist es an der Zeit, dieses mit Objekttypen zu versehen. Objekttypen werden erstellt, um Objekte zu speichern, die gleiche Arten von Informationen teilen. Dies ist vergleichbar mit einer Klasse beim Programmieren. Das kann zum Beispiel ein Mitarbeiter, Server, Konferenzraum oder ein sonstiges Objekt sein. Die Typen sind in einer hierarchischen Struktur angeordnet – es muss also mindestens ein Wurzelobjekt existieren. Dieses kann auch nur ein Platzhalter sein oder als Rahmen für eine Gruppe von bestimmten Objekttypen dienen. Alternativ können „abstrakte“ Typen definiert werden. Diese enthalten keine Objekte, sondern ihre Eigenschaften werden von anderen Objekte geerbt. Bei der Erstellungsmaske müssen Name und Icon angegeben werden, während Parent und eine Beschreibung optional sind.

Das Anlegen neuer Objekttypen gestaltet sich sehr einfach

Das Anlegen neuer Objekttypen gestaltet sich sehr einfach

Für den Use Case werden nur zwei Objekttypen benötigt. Klicken Sie dazu auf das Plus-Symbol in der mittleren Leiste oder oben rechts auf Object-Type -> ‚Create‘.

  • Zertifikat: Fügen Sie ein weiteres Attribut hinzu (Name: Gültig bis; Type: Default; Type Value: DateTime)
  • Mitarbeiter: Zur Identifikation des Mitarbeiters verwenden wir als zusätzliches Attribut den Jira User (Name: User; Type: User)  Des weiteren fügen Sie hier eine Referenz zum Objekttyp „Zertifikate“ ein.

Durch Klicken  auf ‚Attribute‘ in der rechten oberen Ecke, können diese editiert, gelöscht oder neu hinzugefügt werden. Dazu einfach einen Namen und eine Beschreibung eingeben. Es gibt diverse Typen von Attributen zur Auswahl. Für das Beispiel wählen wir als Namen ‚Zertifikate‘, ‚Object‘ als Typ aus und als Type Value dann die ‚Zertifizierung‘. Im Drop-Down auf der rechten Seite wählen wir einfach ‚Reference‘ als Verknüpfungstyp. Damit ein Mitarbeiter auch mehrere Zertifizierungen haben kann, muss noch die Kardinalität geändert werden. Dies ist möglich, indem man in dieser Zeile auf das Zahnrad klickt, dann ‚Configure‘ und unter ‚Cardinality‘ den Haken bei ‚Unlimited‘ setzt. Nun können Zertifizierungen an Personen angehängt werden. Die Verknüpfung der Objekte und deren Beziehung untereinander stellen eine große Stärke von Insight dar. Sie ermöglichen die Erkennung von Strukturen auf einen Blick.

Die Verbindung der Objekttypen lässt sich im Objekttyp-Graph leicht visualisieren. Klicken Sie dazu auf ‚Graph‘ oben rechts.

Der Objekttyp-Graph zeigt die Verbindungen der Objekttypen untereinander

Der Objekttyp-Graph zeigt die Verbindungen der Objekttypen untereinander

Das Schema mit Leben füllen

Objekte sind das Herzstück des Asset Managements – die „Assets“. Diese bilden die tatsächlichen physischen oder immateriellen Güter ab. Sie können durch verschiedene Möglichkeiten erzeugt werden. Die einfachste ist der ‚Create Object‘ Button. Dieser öffnet ein Formular mit allen Attributen des Objekttyps. Erstellen Sie einige Objekte nach Ihren Wünschen, sodass wir weiter mit dem Schema arbeiten können. Sie sollten anschließend einige Mitarbeiter und einige Zertifizierungen haben. Versuchen Sie auch, Zertifizierungen mit Mitarbeitern über das entsprechende Attribut zu verknüpfen. Dazu müssen die Zertifikatobjekte zuerst erstellt werden (Jira Administrator, Docker Expert …).

In der Objektansicht sind die verknüpften Attribute sichtbar

In der Objektansicht sind die verknüpften Attribute sichtbar

Objekte auswählbar und anzeigbar machen

Custom Fields, Screens und Issue Types

Bisher haben wir nur Konfiguration betrieben und ein paar Dummy-Daten erstellt. Möchte man diese erzeugten Objekte nun auch in seinen Jira-Projekten nutzen, müssen die Informationen in Custom Fields verankert werden. So können Objekte im Create- oder Edit-Screen ausgewählt, angezeigt und verändert werden. Insight bringt dafür verschiedene Typen an Custom Fields mit. Der wichtigste ist der Typ „Insight Object/s“. Mit diesem lassen sich diverse Custom-Field-Funktionalitäten umsetzen. In der Konfiguration des Custom Fields wird definiert, welche Daten angezeigt werden sollen. Die Auswahl geschieht dabei mithilfe der hauseigenen Insight Query Language (IQL).

Insight bietet diverse Custom Field Typen

Insight bietet diverse Custom Field Typen

Zunächst benötigen wir ein Custom Field vom Typ „Insight Object/s“ mit der Bezeichnung „Zu verlängerndes Zertifikat“. Darin sollen später die Zertifikate des eingeloggten Nutzers angezeigt werden, sodass dieser eines auswählen kann. Ist das Feld angelegt, klicken Sie auf das Zahnrad → Configure in derselben Zeile, und dann auf Edit Insight Configuration.  Wählen Sie das entsprechende Objektschema und definieren Sie die Filter wie im Screenshot zu sehen. Unter Object attributes on Issue view wählen Sie alle Zertifikat-Attribute aus, die auf der Issue-Ansicht zu sehen sein sollen.

Des Weiteren soll ein Custom Field Neue Gültigkeit vom Typ Date Picker erstellt werden. Damit kann der Nutzer später auswählen, bis wann die Zertifizierung verlängert werden soll.

Legen Sie beide Custom Fields auf einen Screen.

Die Anzeige des Custom Fields ist anpassbar mit IQL-Filtern

Erstellen Sie als nächstes einen Issue-Typ „Zertifizierung verlängern“ und verankern diesen im Issue Type Scheme eines geeigneten Jira-Projekts (geeignet in dem Sinne, dass die Abwicklung einer Zertifikatsverlängerung im Rahmen dieses Projekts sinnvoll ist). Verknüpfen Sie im Issue Type Screen Scheme den neuen Issue Typen mit dem zuvor erstellten Screen.

In der Create-Issue Ansicht kann der Anwender ein Zertifikat auswählen und eine Verlängerung bis zu einem gewünschten Datum eintragen lassen

In der Create-Issue Ansicht kann der Anwender ein Zertifikat auswählen und neues Gültigkeitsdatum eintragen.

Der Workflow zu diesem Issue Typen und die Ansicht eines erstellten Vorgangs sollten etwa so aussehen:

Für das Beispiel wird ein einfacher Workflow verwendetIn der Issue Ansicht ist das Insight Objekt mit den gewünschten Attributen zu sehen

Was jetzt noch fehlt, ist die tatsächliche Änderung des betreffenden Insight-Objekts – der Verlängerung des Zertifikats – beim Abschluss der Prüfung. Im Workflow Editor kann dazu in der Transition Prüfung abschließen die Post Function Set the value of an object attribute with a predefined value hinzugefügt werden. Damit kann der Wert eines Objekt-Attributs auf einen festen Wert festgelegt werden. Dabei werden auch sogenannte Platzhalter unterstützt, damit man auch andere Felder referenzieren kann. Die Funktion wird so konfiguriert, dass der Wert in Neue Gültigkeit in das Attribut Gültig bis des im Feld Zu verlängerndes Zertifikat ausgewählten Zertifikats zu ändern.

Insight Post Functions ermöglichen unter anderem die Manipulation von Objekten

Über Post Functions von Insight wird es noch einen eigenen Blog-Beitrag in dieser Reihe geben.

Fazit & Ausblick

Dieses Beispiel zeigt, dass es mit Insight möglich ist, die Objekte des Unternehmens flexibel zu modellieren und zu verwalten. Die Konfiguration ist nicht immer trivial, basiert aber in vieler Hinsicht auf der klassischen Jira-Sichtweise (siehe den ersten Artikel dieser Reihe).

Natürlich ist das Beispiel ein absolutes MVP. Sie möchten eigene Begriffe verwenden oder einen Workflow nutzen, der mehrere Genehmigungsschritte beinhaltet? Sie benötigen noch Issue Typen zum Erzeugen neuer Zertifikate? Dieses Beispiel kann nun beliebig erweitert und an eigene Bedürfnisse angepasst werden. Auch Automationen haben wir in diesem Beispiel noch nicht hinzugefügt; diese werden in einem separaten Beitrag behandelt. Auch wäre es interessant, statistische Auswertungen über die Zertifizierungen im Unternehmen zu haben. Dies ist mit den Reports in Insight möglich.