Navigation überspringen

Jira: Filter erstellen für neue Issues im Sprint (ohne Plugins)

27.4.2021·Kommentare:  0Retweets:  0 1

Wer in Jira JQL-Abfragen bauen möchte, um im Sprint neu hinzugefügte Issues sichtbar zu machen, hat Pech. Denn die Möglichkeiten sind diesbezüglich in Jira stark begrenzt und in den Supportforen wird man meist auf die kostenpflichtige Scriptrunner-App von Adaptavist verwiesen. Es geht aber – je nach Anforderung – auch ohne kostenpflichte Plugins mit Jira Automation.

ⓘ TL;DR
Hier erfährst du, wie du in Jira einem Issue automatisch ein Label zuweisen kannst, wenn es in den aktiven Sprint geschoben wird. Damit lassen sich dann problemlos JQL-Abfragen für Filter und Kartenfarben bauen.

Problem: Keine entsprechende JQL-Funktion

Direkt lässt sich das leider nicht bewerkstelligen, da Farbeinstellungen für Karten am Board zwar JQL erlauben, es aber keine entsprechenden Funktionen wie addedToSprint() gibt. Nachvollziehbar ist das nicht, denn Jira selbst kennzeichnet solche Issues in den Sprintberichten mit einem Asterisk (*) – die Information ist also vorhanden, wird dem User aber nicht zur Verfügung gestellt.

Trick: Abfrage über Label

Man kann sich aber mit einem Trick behelfen, indem man die Abfrage von einem eigens gewählten Label abhängig macht. Dieses Label soll vergeben werden, sobald ein Issue in den aktiven Sprint geschoben wird. Manuell wäre das zwar auch machbar, aber ziemlich mühsam. Hier kommt Automation ins Spiel. Das Feature ist für alle Jira-Cloud-Nutzer verfügbar und für die (mittlerweile eingestellte) Server-Variante kostenlos downloadbar.

Regel mit Automation anlegen

Der diesbezügliche Leitfaden erklärt einem zwar vieles, nur nicht, wo man das Feature eigentlich findet. Grundsätzlich sollte man bei jedem beliebigen Issue ein Feld namens »Automation« vorfinden (das je nach Ansichts-Konfiguration in der rechten Spalte aber auch in der Hauptspalte sein kann – oder auch ausgeblendet). Das Feld selbst hat keinen Wert, sondern nur einen Link namens »Rule executions«. Klickt man diesen an, kann man zuletzt ausgeführte Regeln einsehen (was später zum Überprüfen nützlich ist) aber auch den entscheidenden Link »Manage rules«, über den sich neue Regeln anlegen lassen.

Trigger, Bedingung & Aktion

Grundsätzlich erstellt man eine automatisierte Regel für ein bestimmtes Projekt, über die globalen Einstellungen kann diese im Nachhinein auch auf alle Projekte angewendet werden. Auf dem Automation-Startscreen kann man rechts oben über den Button »Regel erstellen« eine neue Regel anlegen (zuerst auf den Reiter »Regeln« wechseln). Eine Regel besteht im Prinzip aus drei Teilen: Trigger (Auslöser), Bedingung und Aktion.

In unserem Fall brauchen wir also …

  1. einen Trigger, der auf eine Änderung im Feld »Sprint« reagiert,
  2. eine Bedingung, die prüft, ob der Wert auf den aktiven Sprint geändert wurde und …
  3. … eine Aktion, die das Label hinzufügt, wenn die Bedingung zutrifft.

1. Trigger

Nach Klick auf »Regel erstellen« wählen wir als ersten Schritt den Trigger »Feldwert wurde geändert«. Als zu überwachendes Feld wählen wir »Sprint« und belassen das »Für«-Feld auf »Alle Vorgangsaktionen«. Mit Klick auf »Speichern« wird der Schritt hinzugefügt.

2. Bedingung

Als nächstes erstellen wir mit »Neue Bedingung« eine Bedingung, unter der das neue Label hinzugefügt werden soll. Hier wählen wir den Baustein "If"-/"Else"-Block und dort nach Klick auf »Bedingungen hinzufügen« wiederum »JQL-Bedingung«. Beim Erstellen des JQL-Querys wird’s kniffelig, weil Jira keine Funktion für den aktuellen Sprint anbietet. Man kann aber tricksen und sich mit den verfügbaren Funktionen openSprints() und futureSprints() behelfen (man findet dazu zwar veraltete Google-Suchergebnisse, wo diese Funktionen als verbuggt und somit nutzlos bezeichnet werden, mittlerweile funktionieren sie aber):

Sprint in openSprints() and Sprint not in futureSprints()

Während man mit openSprints() alle offenen Sprints (also auch künftige) auswählt, schließt man gleichzeitig mit not in futureSprints() alle künftigen aus – übrig bleiben die aktiven Sprints (bzw. im Normalfall der aktive Sprint). Und nein, eine currentSprint() oder activeSprint() genannte Funktion gibt es nach wir vor nicht (Stand April 2021).

3. Aktion

Nach Klick auf Speichern muss man darauf achten, als nächstes nicht eine weitere Komponente am Ende hinzuzufügen, sondern eine »eingerückte« Komponente, direkt unter dem "If"-/"Else"-Block. Dort wählt man »Aktion«, »Vorgang bearbeiten« und wählt im Dropdown »Labels« aus. Dann beim neu angezeigten Dropdown zuerst über die drei Punkte daneben »Werte hinzufügen/entfernen« auswählen und in das Input-Feld »Hinzuzufügende Werte« ein entsprechend gewähltes Label einfügen.

Nach dem Klick auf Speichern kann man die Regel benennen und über den Button »Aktivieren« aktivieren.

Optional: Regel auf alle Projekte anwenden

Die Regel gilt standardmäßig nur für das Projekt, in dem man die Regel angelegt hat. Klickt man in der Regelübersicht (im Reiter »Regeln«) links auf »Alle Regeln« kann man die neu angelegte Regel anklicken (direkt den Regel-Titel) und dann im Dropdown »Umfang« von »Einzelprojekt« auf »Alle Projekte« (oder einen anderen gewünschten Wert) umstellen.

Zu guter Letzt: Kartenfarbe am Board ändern

Der Rest ist einfach: In den Board-Einstellungen bei den Kartenfarben kann man nun eine neue JQL-Abfrage erstellen, die einfach die Existenz des gewählten Labels überprüft und voilà, schon werden am Board neu hinzugefügte Issues im Sprint in einer anderen Farbe dargestellt.

Man kann diese Automatisierung entsprechend verfeinern, indem man z.B. das Label wieder entfernt, sollte man das Issue wieder aus dem Sprint entfernen. Die obige Anleitung sollte dafür jedenfalls eine gute Ausgangsbasis bilden.

Ob die Regel funktioniert, sieht man zum einen, ob in den zuvor erwähnten »Rule executions« ein entsprechender Eintrag vorhanden ist und natürlich daran, dass das Label hinzugefügt würde (nicht wundern, das kann ein paar Sekunden dauern, auch wenn die Regel bereits ausgeführt wurde).

Eure Meinung

Was meint ihr? War diese Anleitung hilfreich oder kennt ihr andere oder gar bessere Methoden, um Issues entsprechend zu kennzeichnen? Über Feedback dazu freue ich mich wie immer in den Kommentaren!


Neueste Artikel

Schlagwörter

· · · ·


Kommentieren

Am liebsten hier, gerne aber auch auf Twitter und Facebook.
Ich freue mich über jeden Kommentar und antworte gern innerhalb von 24 Stunden.