ScriptRunner for Jira

von Stefan Ladstätter-Thaa

In den letzten Jahren hat sich Jira als Projektmanagement-Tool für Software-Projekte durchgesetzt. In diesem Artikel möchte ich Ihnen ScriptRunner, das Schweizer Messer unter den Jira-Addons, vorstellen.

Für wen ist ScriptRunner interessant?

Jira-Admins, die Jira um eigene Funktionalität erweitern wollen und nicht für Funktionalität, die von einer geringen Anzahl an Usern verwendet wird, ein eigenes Jira-Addon kaufen wollen.

Jira ist überall

Einer der Hauptgründe für die Beliebtheit von Jira ist sicherlich die Erweitbarkeit. Für jeden erdenklichen Einsatzzweck gibt es ein Plugin. Ob Testmanagement mit Xray, Multi-Projektmanagement samt Team-Kapazitätsplanung mit BigPicture oder dem Erstellen kompletter BI-Analysen und Reports mit EazyBI ist alles vertreten.

Aber auch für kleine Erleichterungen des Lebens gibt es Addons, z.B. für die Validierung mancher Workflow-Übergänge. Solche Verbesserungen machen sich rasch bezahlt, wenn eine große Anzahl an Benutzern davon profitiert. Wenn jedoch ein Feature nur von sehr wenigen Usern genutzt wird, fragt es sich, ob sich das Investment in mehrere kleinere Addons lohnt. Hier kommt ScriptRunner zum Zug.

Das Schweizer Messer unter den Jira-Addons

ScriptRunner erlaubt es, den Funktionsumfang von Jira durch vorgefertigte und eigene Skripte zu erweitern und zu automatisieren. Die Liste der Möglichkeiten ist schier endlos: Hinzufügen von Buttons, dynamische Formulare mit Default-Werten und Abhängigkeiten, Felder mit errechneten Werten sowie Workflow-Erweiterungen wie Validierungen, Bedingungen und automatisierten Aktionen nach einem Statusübergang, wie zum Beispiel Email-Benachrichtigungen, Hinzufügen von Sub-Tickets, uvm. Darüber hinaus kann man mit ScriptRunner REST-Endpoints hinzufügen und damit eine Schnittstelle zu externen Applikationen schaffen. Darüber hinaus auch umfangreiche JQL-Funktionen, die das Finden und Filtern von Jira-Tickets erheblich erleichtern.

Custom Script Beispiel

Die mitgelieferte Script-Bibliothek kann um eigene Skripte erweitert werden, die in Groovy programmiert werden. Dies war zuletzt auch in meiner Praxis in einem Kundenprojekt nötig. Die Anforderung: Jedes Monat soll ein Report erzeugt werden, mit den Jira-Tickets aus einem bestimmten Projekt und ihrem aktuellen Status, sowie den Personen, die das jeweilige Ticket bearbeiten. Der Report soll den gegenwärtigen Zustand zu Dokumentationszwecken archivieren. Dafür lohnte es nicht, ein eigenens Report/Export-Addon zu kaufen. Da Jira keine Standardfunktion für das Erzeugen und Abspeichern von Dateien mitbringt, haben wir uns für einen kleinen Trick entschieden: Statt einer Datei stellen wir eine Email-Nachricht mit Attachment zusammen, die wir anschließend versenden. Das Attachment hat das Format einer CSV-Datei. Der Empfänger des Emails kann das Attachment öffnen und lokal speichern.

Hier die Bestandteile des Scripts:

  1. Import von Jira-Scriptkomponenten (für Email, ScriptRunner, Suche, etc.)
  2. Für jedes der betroffenen Jira-Projekte wird eine JQL-Query erzeugt, anhand der festgelegten Suchparameter
  3. Die Liste der gefundenen Issues wird Eintrag für Eintrag ausgelesen, die gewünschten Felder (teilweise Custom-Fields) in eine Liste gespeichert
  4. Jede dieser Listen wird mit join() und dem Semikolon als Trennzeichen zu einer Textzeile umgewandelt
  5. Hierbei wird jeder Feldeintrag via RegEx umgewandelt, damit Zeilenumbrüche, Anführungszeichen, etc. erhalten bleiben und die CSV-Datei korrekt in Excel importiert werden kann
  6. Der resultierende String bekommt noch eine Titelzeile mit den Spaltennamen und wird dann an ein Multipart-Email angehängt
  7. Am Ende wird das Email versendet

Scheduling

Am Ende muss das Skript noch über ein weiteres praktisches Feature von ScriptRunner in Betrieb gesetzt werden, über einen sogenannten Scheduled Job. Solche Skripte laufen zu einem bestimmten Zeitpunkt oder nach einem bestimmten Intervall ab, um automatisierte Aktionen durchzuführen.

Interesse?

Sie Interessieren sich für maßgeschneiderte Zusatzfunktionen für Jira? Wir beraten Sie gerne.

Artikel teilen
SEQIS News RSS
Autor
SEQIS Autor Stefan Ladstätter-Thaa

Stefan Ladstätter-Thaa

 

Consultant
IT Analyse, Software Test, Project Management

Newsletter

Um neue Beiträge per E-Mail zu erhalten, hier die E-Mail-Adresse eingeben.

Unsere Autoren

Informieren Sie sich über unsere Autoren und erfahren Sie mehr über unsere Spezialisten und ihre Fachbereiche:

Zu den Autoren

Sie haben eine Frage?

Zurück

Kommentare
(Bitte geben Sie eine gültige URL mit "http://" ein.)
  • SEQIS
  • ScriptRunner for Jira
Zum Seitenanfang navigieren