Kommentare lesen mit Jira Expressions

Eines der interessantesten Features in Jira Cloud sind die sogenannten Jira Expressions. Eigentlich als Entwickler-Feature gedacht, erobern sich Jira Expressions aufgrund ihrer Flexibilität beim Definieren von Bedingungen und Validatoren gerade einen Platz im Herzen vieler Jira Admins. In diesem Artikel wollen wir dieses Feature kurz vorstellen und die Kommentare eines Vorgangs lesen.

Tipp: Um die Expressions in diesem Artikel direkt auszuprobieren, empfehlen wir die freie Jira Cloud App Expression Tester. Damit lassen sich Jira Expressions spielend leicht direkt in Jira ausprobieren.

ABER WAS GENAU SIND JIRA EXPRESSIONS?

Zuerst die kurze Antwort: Jira Expressions sind eine domänenspezifische Sprache mit der Daten aus Jira mit einem kurzen Ausdruck selektiert, aggregiert und verglichen werden können.

So, und nun die besser verständliche Antwort. Eine Jira Expression ist letztlich nichts weiter als eine kurze Formel, die von Jira ausgewertet wird und ein Ergebnis zurück liefert. Meistens begegnet man diesen Expressions beim Anlegen von benutzerdefinierten Workflow-Bedingungen und -Validatoren. Aber mit Jira Expressions lässt sich noch einiges mehr machen. So können App-Entwickler über Jira Expressions bestimmt UI-Elemente ein- und ausblenden oder Expressions über die REST API auswerten lassen. Die offizielle Dokumentation von Atlassian enthält einige Beispiele und eine komplette Referenz aller Datentypen. Wir von Jodocus sind richtig große Fans von Jira Expressions und verwenden diese recht häufig in den verschiedensten Anwendungsfällen.

EIN ERSTES BEISPIEL

Für unser erstes Beispiel nehmen wir einfach mal, wir wollten alle Kommentare eines Vorgangs sehen, aber sonst nicht weiter. Dies kann recht einfach über die folgende Jira Expression erreicht werden:

issue.comments
  .map(c => c.body.plainText)

Diese Expression liefert den Text aller Kommentare eines Vorgangs zurück, etwa so:

[“Hello World “,”A small comment made by me”,”some comment”]

Ganz nett, oder? Exakt nur die Daten, die wir brauchen und sonst nichts. Keinerlei Overhead! Aber wie funktioniert das nun genau?

Eine Jira Expression wird immer in einem bestimmten Kontext ausgewertet. Der Kontext sind in diesem Zusammenhang die Daten die während der Auswertung zur Verfügung stehen. In unserem obigen Beispiel ist das der Vorgang CTP-1, welcher als ‚issue‘ in der Formel zur Verfügung steht. Einfach nur ‚issue‘ ist bereits eine eigenständige Jira Expression, wenn auch keine sehr komplizierte oder nützliche; issue gibt einfach nur den Vorgang selbst als Datensatz zurück.

Wir wollen jetzt aber die Kommentare lesen und diese sind als Attribut des Vorgangs verfügbar. Ein Attribut auslesen klappt einfach mit einem Punkt und dem Namen des Attributs:

issue.comments

Schon sehr viel besser, aber immer noch nicht ganz was wir wollen. Klar, das sind alle Kommentare, aber auch noch so viel mehr Informationen als wir wollen. Hier kommt uns die map()-Funktion entgegen. Mit map() können wir eine kleine Formel auf alle Elemente einer Liste anwenden und bekommen so eine angepasste Liste zurück. Wir können also auf jeden Kommentar in der Liste der Kommentare eine Formel anwenden, das von einem großen Kommentar-Datensatz nur den Text zurück liefert. Und diese Formel heißt:

c => c.body.plainText

In natürliche Sprache übersetzt: Hey Jira, für jeden Kommentar-Datensatz aus dieser Liste, nennen wir den mal c, hätte ich gerne das Attribut c.body.plainText.

Und genau das macht Jira dann auch, und wir bekommen eine hübsche Liste mit nur den Kommentartexten.

Und das ist es auch schon: Eine kurze, nette Jira Expression mit der wir alle Kommentartexte zu einem Vorgang erhalten können. Damit könnte man jetzt zum Beispiel die REST-API befragen oder die Expression im Expression Tester ausführen und das Ergebnis als JSON herunterladen.

Über die Eficode Germany GmbH

Die Jodocus GmbH ist als Atlassian Platinum Solution Partner auf das Optimieren von ITSM- und Digitalisieren von Geschäftsprozessen mit den Atlassian-Produkten spezialisiert. Von den Standorten in Hamburg, Hörstel, Düsseldorf, Kiel und Kulmbach aus bedient das eingespielte Team aus IT- und Cloudexperten sowie Spezialisten für Prozess- und Projektmanagement eine Vielzahl an Branchen: von deutschen mittelständischen Unternehmen und Großunternehmen wie Banken und Versicherungen bis zu internationalen Big Playern.

Firmenkontakt und Herausgeber der Meldung:

Eficode Germany GmbH
Bergeshöveder Str. 64
48477 Hörstel
Telefon: +49 (5454) 4073463
Telefax: +49 (5454) 4073464
http://eficode.com/de

Ansprechpartner:
Saskia Thelen
Marketing
E-Mail: saskia.thelen@jodocus.io
Für die oben stehende Story ist allein der jeweils angegebene Herausgeber (siehe Firmenkontakt oben) verantwortlich. Dieser ist in der Regel auch Urheber des Pressetextes, sowie der angehängten Bild-, Ton-, Video-, Medien- und Informationsmaterialien. Die United News Network GmbH übernimmt keine Haftung für die Korrektheit oder Vollständigkeit der dargestellten Meldung. Auch bei Übertragungsfehlern oder anderen Störungen haftet sie nur im Fall von Vorsatz oder grober Fahrlässigkeit. Die Nutzung von hier archivierten Informationen zur Eigeninformation und redaktionellen Weiterverarbeitung ist in der Regel kostenfrei. Bitte klären Sie vor einer Weiterverwendung urheberrechtliche Fragen mit dem angegebenen Herausgeber. Eine systematische Speicherung dieser Daten sowie die Verwendung auch von Teilen dieses Datenbankwerks sind nur mit schriftlicher Genehmigung durch die United News Network GmbH gestattet.

counterpixel