Angular in Jira Apps nutzen: So geht’s

Oder: Wie Chris die Jira App Entwicklung revolutionierte

Für alle, die nur an der Lösung interessiert sind: (hier gelangt ihr zur Dokumentation )

Jira und Confluence sind nicht nur das was sie sind, sondern das was man daraus machen kann. Das Projektmanagement Tool Jira und die Plattform zum Erstellen eigener Wikis zum Wissensmanagement Confluence aus dem Hause Atlassian sind an sich schon mächtige Werkzeuge. Darüber hinaus gibt es mannigfaltige Wege, die beiden Systeme den eigenen Bedürfnissen anzupassen. Administratoren können beispielsweise einen benutzerdefinierte Farbpalette einrichten, um den Mitarbeitern eine gewohnte Umgebung im Sinne des bekannten Corporate Designs ihrer Firma oder Organisation anzubieten.Darüber hinaus haben diese kosmetischen Veränderungen den Vorteil, dass gut gewählte Kontraste angenehmer für die Nutzer sind und projektspezifische Farbtöne eine schnelle Navigation begünstigen. Ein adaptierbares Interface ist eben mehr als Spielerei.

Die Stadtwerke aus Musterstadt zum Beispiel können auf die Art für die Abteilung Garten und Bau ihr markantes Zypressengrün, sowie das das entsprechend Blattlogo einrichten.
Das ist aber nur der Anfang. Insbesondere Jira bietet unzählige Möglichkeiten für jede Vorgangsart individuelle Workflows anzulegen. Ob es drei oder dreißig Arbeitsschritte vom Anlegen eines Vorgangs bis zu seiner Erledigung sind, ist schlicht Einstellungssache. Wer einen neuen Vorgang anlegen und wer ihn abschließen kann, kann ebenfalls im Rechte- und Rollensystem geregelt werden, für jedes Projekt und jeden Vorgangstyp.
So kann für die Abteilung Garten und Bau der Stadtwerke Musterstadt ein Projekt mit dem Namen Grünanlagen anlegt werden. In diesem Projekt gibt es die beiden benutzerdefinierten Vorgänge: Neubepflanzung und Baumpflege. So besteht der Vorgangstyp „Neubepflanzung“ aus dem wasserfallartigen Workflow [Antrag in Bearbeitung], [Vermessung], [Bauphase] und [Abnahme]. Während nur der leitende Sachbearbeiter Herr Genau einen neuen Vorgang dieses Typs anlegen und den Status [Abnahme] beenden kann, sind die Mitarbeiter vor Ort für den Status [Bauphase] verantwortlich.

Funktionale Erweiterung dank Jira Apps

Angenommen die Stadtwerke entschließen sich dazu enger mit der ansässigen Industrie und dem Gewerbe zusammenzuarbeiten. Ihr Ziel ist, dass die verantwortlichen Kontaktpersonen der ansässigen Firmen über eine integrierte Plattformen Grundrisse angrenzender brachliegender Flächen einreichen können. Das Image eines staubigen Gewerbegebiets soll durch Begrünungsmaßnahmen verschwinden, um neue Firmen anzulocken. Um die Zusammenarbeit zu vereinfachen, sollen die eingegebenen Werte der Grundrisse per OCR Methode aus den Bildern eingelesen und mittels Integralrechnung die potentielle Grünfläche automatisch berechnet werden. Das ist selbst für Jira ein Spezialfall. Obwohl Jira selbst keine Lösung dafür hat, bietet es diese an. Das hört sich erst einmal paradox an.
Neben optischen Anpassungsmöglichkeiten und den funktionalen Einstellungsänderungen passend zu den Projekten, gibt es die Möglichkeit die Webanwendung mit Jira Apps (früher Jira Plugins genannt) den Funktionsumfang zu erweitern. Diese können auch von Drittanbietern entwickelt werden. Die selektive Funktionserweiterung ist überaus praktisch, denn neben dem offensichtlichen Vorteil (der Funktionserweiterung), bedeutet die bedarfsgerechte Erweiterung, dass die Nutzer nicht gleich mit tausenden Funktionen überschüttet werden. Das auch Drittanbieter die Erweiterungen für Jira und Confluence erstellen können, sorgt dafür, dass auch seltenere Nischenanforderungen bedient werden können.
Selten sollte hier nicht mit unerheblich gleichgesetzt werden. Selbst wenn nur zwei Unternehmen die Funktionen einer bestimmten Jira App benötigen, kann das bedeuten, das tausende Nutzer von der Erweiterung profitieren. Denn gerade für eine solch hochfrequente Nutzung ist Jira ausgelegt.
Den oben genannten Fall der Grünflächen Berechnung wäre also mit einem Jira Plugin realisierbar. Unter normalen Umständen wäre dies jedoch sehr aufwändig, denn Jira bringt ein eigenes SDK mit.

Wie Chris die Jia App Entwicklung revolutionierte

Um den Entwicklungsprozess der Jira Apps voranzutreiben, ist es nun einem Scitotec Mitarbeiter gelungen, dafür die aktuelle Version des Angular Frameworks nutzbar zu machen. Die Nutzung von Angular für Jira Apps / Jira Plugins erweitert nicht nur die Möglichkeiten, es vereinfacht und beschleunigt zudem den Entwicklungsprozess. Eine win-win-win Situation.Schon zuvor gab es solche Bestrebungen (siehe hier) und hier , die jedoch für unseren Mitarbeiter Chris nicht zufriedenstellend waren. Entweder es handelt sich um die alte AngularJS Version oder die Lösung wurde schlicht über eine externe Seite abgewickelt und nicht im User Interface von Atlassian integriert.

Ob das Suchen nach besseren Lösungen von Entwicklern mit Ehrgeiz zusammenhängt, ist in der Fachwelt umstritten, insbesondere wenn die bessere Lösung eine Vereinfachung bedeutet. Es muss aber Ehrgeiz oder etwas ähnliches gewesen sein, das Chris dazu besonnen hat, eine pfiffigere Lösung für die Angular Integration in Jira herauszufinden.

Und so geht’s – Einkochen von Angular in Jira

  • Man benötigt lediglich eine aktuelle Java Version, die zudem mit dem Atlassian SDK kompatibel ist und, wenn vorhanden, Git. Für den Performancekick und die Angular CLI verwenden wir Node 12.8.1
  • Nach belieben ein oder zwei IDEs (Wir nehmen da gerne VSCode und IntelliJ Idea in der Community Edition)
    Zunächst trenne die Clientseite vom Backend, wie das Gelbe vom Ei. Dazu verwenden wir das Frontend Maven plugin (kommt mit dem Atlassian SDK) und nicht den yui-compressor, der in den Atlassian plugins normalerweise verwendet wird, um den die Frontend ressoucen zu verdichten.
  • Alles schön installieren und bereitlegen (Java, Node, Atlassian SDK und das Angular CLI) Wo ihr das alles herbekommt, haben wir euch hier aufgeschrieben.
  • Als nächstes legt ihr ein frisches Atlassian Plugin Grundgerüst aus. Ihr könnt hierfür genauso gut auch ein Confluence Plug-in nutzen. Je nach Gusto.
  • Nachdem ein neues Angular Projekt dank der entsprechenden CLI aufgegangen ist, muss noch der Output Pfad und die Hashing Methode entsprechend angepasst werden, genauso wie die pom.xml und die atlassian-plugin.xml. Ist alles gut verrührt kann der das Plug-in in den Ofen geschoben werden. Nach „atlas-run” muss alles noch ca. 5 Minuten durchziehen. Das war’s. In unserem Git Repo findet ihr die komplette Anleitung.
Eure „Hallo Welt“ wird nicht mehr dieselbe sein!

Ihr habt auch einen Fall für unsere Jira Götter? Wir finden eine Lösung!