Video Tutorial: JQL Advanced – Erweiterte Suchvorgänge in Jira
JQL (Jira Query Language) ist ein leistungsstarkes Tool, mit dem Sie anhand von Suchkriterien wie benutzerdefinierten Feldern oder Vorgangseigenschaften nach Vorgängen suchen können. Die Basissuche bietet die Möglichkeit, die Suche mit Dropdown-Menü durchzuführen, aber an einigen Stellen stößt sie an ihre Grenzen. Hierfür können Sie zur erweiterten Suche von JQL wechseln, die Ihnen unzählige Möglichkeiten für spezielle Suchfunktionen bietet. Dieser Artikel soll eine praktische Anleitung für alle sein, die mit Jira arbeiten, unabhängig von deren Erfahrung. Wenn Sie die unten beschriebenen Vorgänge in Aktion sehen möchten, schauen Sie sich unser Video Tutorial an.
Jira nutzt an verschiedenen Stellen JQL Filter. Direkt nach dem Anmelden sieht man ein Dashboard, auf dem unterschiedliche Gadgets angezeigt werden. Für die Konfiguration der meisten Gadgets werden JQL Filter verwendet. Eine weitere Anwendung findet sich bei Kanban als auch Scrum-Boards. Welche Vorgänge dort angezeigt werden, wird durch den Board Filter festgelegt.
Start mit der Standardsuche
Starten wir mit der Standardsuche. Verwenden Sie die blaue Leiste oben und klicken Sie auf Vorgänge → Vorgänge Suchen, um zum Vorgangsnavigator zu gelangen.
Manchmal muss man in vielen Vorgängen einen Feldwert setzen. Um dies auf einmal zu machen, nutzt man die Mehrfachänderung, den Bulk Change. Durch die JQL Abfrage kann man die gewünschten Vorgänge aus der Gesamtmasse an Vorgängen herausfiltern und über „Tools“ Mehrfachänderungen vornehmen.
Bei der Standardsuche kann man über die vorhandenen Dropdown-Felder eine Auswahl der anzuzeigenden Vorgänge wählen. Es ist möglich, Systemfelder und benutzerdefinierte Felder über „Mehr“ hinzuzufügen. Wenn man zum Beispiel das Feld „Lösung“ anhakt, erscheint es ebenfalls als Dropdown. Hier kann man nun die Werte „Nicht erledigt“ und „Fertig“ auswählen.
Wir empfehlen zur Listenansicht zu wechseln, um eine bessere Übersicht zu erhalten. Sie können das Feld „Lösung“ auch als Spalte hinzufügen. Wenn Sie also „Scrum Project“ für das Projektfeld, „aktueller Benutzer“ für den Bearbeiter und „Fertig“ oder „nicht erledigt“ für das Lösungsfeld auswählen, sehen Sie alle Vorgänge des Projekts SP, die Ihnen zugewiesen sind und deren Auflösung „Fertig“ oder „nicht erledigt“ ist.
Wechseln wir nun zur „Erweiterten Suchanfrage “. Klicken Sie auf „Erweitert“ und es erscheint eine Leiste in der wir eine JQL Abfrage sehen. In unserem Beispiel wird es sein:
project = SP AND resolution in (Unresolved, Done) AND assignee in (currentUser0)
Dies ist so gesehen eine Übersetzung der Suchanfrage, die wir gerade eben im Standard-Suchmodus erstellt haben.
Eine JQL Abfrage besteht aus fünf Bestandteilen. Die kleinste Einheit einer Suchanfrage setzt sich zusammen aus einem Feld, welches durch einen Operator mit einem Feldwert oder einer Funktion verglichen wird. In der aktuellen Suchanfrage haben wir drei solcher Einheiten. Das Feld Projekt wird über den „Ist gleich“ Operator mit dem Feldwert SP verglichen.
- Die nächste Einheit vergleicht das Lösungsfeld mit den Werten „Fertig“ und „Nicht erledigt“. Die dritte Einheit prüft das Feld Bearbeiter mit der Funktion für den aktuellen Benutzer. Der aktuelle Benutzer wird über eine Funktion dargestellt. Funktionen erkennt man an einem Wort und Klammern. Mehrere dieser Einheiten werden mit Schlüsselwörtern verknüpft. Im aktuellen Beispiel sind die Einheiten mit einer AND Verknüpfung verbunden.
Schauen wir uns einzelne Komponenten genauer an. Mit Feldern sind die Jira System Felder oder auch benutzerdefinierte Felder gemeint. Wenn man auf „Project“ doppelklickt, dann erscheint auch eine Auswahl anderer möglicher Felder, die man auswählen kann.
2. Der nächste Bestandteil ist der Operator. In unserem Beispiel ist es in der ersten Einheit das Ist-Gleich-Zeichen („=“). Das wird verwendet, um nach einem konkreten Wert für das Feld zu suchen. Es folgt jedoch nicht ein konkreter Wert, sondern eine Liste möglicher Werte (in unserem Beispiel können Sie es für das Lösungsfeld sehen, in dem die Werte „Nicht erledigt“ und „Fertig“ gewählt werden).
project != SP
Mit dem Vorsetzen eines Ausrufezeichens bzw. eines NOT erhalten Sie Vorgänge, die in unserem Beispiel nicht zum Projekt gehören, oder Vorgänge, die nicht mir zugewiesen sind.
created < 2020/03/16
Wenn man nach Zahlen- oder Datumsfeldern sucht, kann man auch die „größer“ und „kleiner“ Zeichen verwenden. Zum Beispiel, wenn das Erstelldatum älter sein soll als der 16. März 2020: Hier sagen wir „created“ kleiner als 16.03.20.
created > „-10d“
Es ist auch möglich, alle Vorgänge anzuzeigen, die in den letzten 10 Tagen erstellt wurden, zum Beispiel. Dafür schreibt man kein konkretes Datum, sondern eine Zeitperiode. Das Zeichen „-“ oder „+“ bestimmt, ob der aktuelle Wert in der Vergangenheit oder in der Zukunft liegt.
summary ~ „board“
Ebenso können wir Textfelder nach Wörtern absuchen. Wenn wir zum Beispiel nach Vorgängen suchen, die in der Zusammenfassung das Wort „Board“ haben, dann sieht unsere JQL folgendermaßen aus: summary ~ „board“.
Man kann hier auch eine Platzhaltersuche benutzen, wenn man sich nicht ganz sicher ist über Zeichen, die im Wort vorkommen. So nutzt man das Fragezeichen für ein einzelnes Symbol oder den Stern für mehrere Symbole.
assignee IS EMPTY
Es gibt noch den Operator „is“ or „is not“, der zusammen mit dem Schlüsselwort EMPTY verwendet wird. Damit wird geprüft, ob ein Feld leer, also ohne Wert ist oder eben nicht. Mit anderen Worten, es ermöglicht Ihnen, nach Vorgängen zu suchen, die keinen Bearbeiter haben.
Hier haben wir schon das erste Schlüsselwort verwendet: EMPTY. Jetzt konzentrieren wir uns auf andere Schlüsselwörter. Die wichtigsten Schlüsselwörter sind AND und OR. Mit den AND und OR Verknüpfungen kann man die Logik festlegen:
- AND-Verknüpfung bedeutet, dass alle verknüpften Bedingungen erfüllt sein müssen.
- Bei der OR-Verknüpfung muss entweder die eine oder die andere Bedingung erfüllt sein, damit ein Vorgang in der Liste der Vorgänge erscheint.
Sie können AND und OR zusammen für gemischte Ergebnisse verwenden. Zum Beispiel bedeutet „project = SP AND resolution in (Unresolved, Done) OR assignee in (currentUser0)“: Alle Vorgänge aus Projekt SP, die die Lösung „nicht erledigt“ oder „Fertig“ haben und alle Vorgänge, die mir zugewiesen sind, auch die aus anderen Projekten.
Nun kann man sich die JQL noch komplexer gestalten, indem man Klammern verwendet. Diese haben Vorrang vor den Schlüsselwörtern. So bedeutet „project = SP AND (resolution in (Unresolved, Done) OR assignee in (currentUser0)), dass man Vorgänge findet, die nur aus Projekt SP sind und entweder die Lösungswerte „Fertig“ und „nicht erledigt“ haben oder mir zugewiesen sind.
Das letzte Schlüsselwort, auf das wir eingehen möchten, lautet ORDER BY, mit dem Sie Vorgänge nach einem gewünschten Feld sortieren können. Zum Beispiel hier: „project = SP AND (resolution in (Unresolved, Done) OR assignee in (currentUser0)) ORDER BY updated DESC“. Die Ergebnisse werden nach Update-Datum absteigend geordnet. Beachten Sie, dass DESC für absteigend und ASC für aufsteigend steht.
Der letzte Teil einer JQL-Abfrage ist eine Funktion. Es gibt viele verschiedene Funktionen, aber wir werden uns auf die häufig verwendeten konzentrieren:
- „startOfWeek ()“, zum Beispiel. „created > startOfWeek(-2)“ zeigt Vorgänge an, die am Montag vor zwei Wochen erstellt wurden.
- „endOfWeek“: „duedate < endOfWeek(2)“ zeigt die Vorgänge an, die bis Sonntag in zwei Wochen abgeschlossen werden müssen. Beim Doppelklicken auf „endOfWeek“ erscheint ein Drop-down, der die möglichen Funktionen für zeitliche Angaben zeigt.
Neben zeitlichen Funktionen gibt es auch Funktionen für Benutzer. Wir hatten schon den currentUser, der den aktuell eingeloggten Benutzer einsetzt.
Man kann zum Beispiel nach Bearbeitern suchen, die in einer bestimmten Gruppe sind. Dafür nutzt man den Ausdruck „membersOf()“. In dieser Funktion wird dann der Gruppenname in die Klammern eingetragen.
Weitere Möglichkeiten sind die Funktionen zu Versionen. So kann man auch nach Vorgängen filtern, die in einer veröffentlichten Version eines Projektes enthalten sind. In den Ausdruck schreibt man den Projektschlüssel, zum Beispiel: fixVersion in releasedVersions („SP“).
„updatedBy()“ ist eine Funktion, die Ihnen alle Vorgänge, die von einem bestimmten User aktualisiert wurden, anzeigt. Dessen Name ist in Klammern angegeben.
Wenn Sie Ihre JQL zusammen gebastelt haben, dann können Sie diese speichern und die Berechtigungen bearbeiten. Unter „Details“ finden Sie die Möglichkeit festzulegen, wer diesen Filter sehen darf und wer ihn bearbeiten kann. Man kann Filter auch abonnieren. Dazu können Sie festlegen, wann die Ergebnisliste an Sie oder an die Mitglieder einer Gruppe geschickt wird.
Das waren nur ein paar der vielfältigen Befehle im erweiterten JQL Suchmodus. Weitere Informationen finden Sie in der offiziellen Atlassian-Dokumentation.
Auch wenn es sehr Effizient ist hat Jira seine Grenzen, wenn es um bestimmte Suchanfragen geht. Wenn Sie zum Beispiel die Platzhaltersuche nicht nur bei Textfeldern, sondern auch bei Drop-down Feldern oder Label-Feldern nutzen wollen, dann ist unsere App „PowerJQL“ genau das Richtige für Sie. Es ermöglicht Ihnen, nach verschiedenen Dokumenttypen im Anhang eines Vorgangs zu suchen, und mehr. Starten Sie jetzt Ihre kostenlose Testversion und genießen Sie alle Vorteile der erweiterten Suchfunktionen.
Weitere Informationen finden Sie in unseren anderen Artikeln:
- GitHub Enterprise Integration mit Jira: Eine Schritt-für-Schritt Anleitung
- Be SAFe, Teil 1: Kernprinzipen und Vorteile des Scaled Agile Framework
- 5 Tipps für erfolgreiches Arbeiten im Home-Office
- CCPA vs. DSGVO: Datenschutzgesetze in Europa und den USA
- Video Tutorial: Portfolio für Jira
- Sicheres Passwort-Management für Benutzer und Administratoren
Lassen Sie uns in Kontakt bleiben!
Folgen Sie uns auf LinkedIn, Facebook, XING und Twitter und abonnieren Sie unseren Newsletter, um regelmäßig Updates, Tipps und Angebote direkt in Ihr Postfach zu erhalten.