Schlagwort-Archive: Bash

Jira Command-Line Client

Neuerdings verwenden wir in meinem Team ein physikalisches Kanban Board. Trotzdem haben wir noch ein Jira für folgende Dinge:

  • Zu Dokumentationszwecken. Dafür beinhaltet die Commit Message die Jira Ticketnummer. Stolpert ein Entwickler über eine Codestelle, kann er über die Commit ID das zugehörige Jira Ticket öffnen und sich somit Hintergrundinformationen besorgen.
  • Pflegen von Zeitaufwänden zur Abrechnung.
  • Unsere Continous Deployment Pipeline verwendet bspw. die Jira Tickets. So setzt diese nach dem Produktionsdeployment einen Status so dass sich unser Support über einen Jira Filter immer ansehen kann, welche Tickets zuletzt auf Produktion ausgerollt wurden. Auch führt diese ein Produktionsdeployment nur durch, wenn alle Tickets, die neu auf Produktion ausgerollt werden würden, abgenommen wurden und sich somit im richtigem Status befinden.

Auch mit physikalischem Board brauchen wir das Jira also noch. Glücklicherweise nicht mehr so häufig. Trotzdem muss man manchmal ein Ticket kommentieren oder den Status eines Tickets ändern. Das ist zumindest in meiner Firma recht umständlich da ich häufig ausgeloggt werde und der Webclient sehr langsam ist sowie man viel klicken muss. Nun bin ich durch einen Kollegen auf den Jira Command-Line Client von Netflix aufmerksam gemacht worden, mit dem sich Jira mit ein bisschen Bash Magic sehr bequem aus der Kommandozeile heraus bedienen lässt – unter Windows benutze ich übrigens Cmder inkl. Git als Kommandozeile.

Beispielweise kann man sich ein Jira Ticket über jira view <Ticketnummer> direkt in der Kommandozeile ansehen. Über jira take <Ticketnummer> kann man das Ticket sich selber zuweisen. Das funktioniert gut. Nun ist es allerdings so, dass wir bei uns in der Abteilung die Namenskonvention haben, dass die Jira Ticketnummer Bestandteil des aktuellen git branches ist (topic/<Ticketnummer>). Der zum Ticket KNFN-8918 gehörige Branch hat bspw. den Namen topic/KNFN-8918. Ist man also gerade in dem Projektordner, kann man sich über den folgenden git Befehl die Jira Ticketnummer aus dem Branchnamen parsen:

git rev-parse --abbrev-ref HEAD | sed -e "s|.*/||"

Nun habe ich mir folgende Aliase in meiner .bashrc angelegt:

alias current_jira_issue='git rev-parse --abbrev-ref HEAD | sed -e "s|.*/||"'

alias jira_view_issue='jira view $(current_jira_issue)'

alias jira_take_issue='jira take $(current_jira_issue)'

alias jira_comment_issue='jira comment $(current_jira_issue) -m '

Dadurch muss ich für die Befehle, die ich häufig benutze, die Jira Ticketnummer nicht mehr eingeben sondern sie wird automatisch aus dem aktuellen Git Branchnamen geparst. Gibt man bspw. jira_view_issue ein, so wird das Ticket zum aktuellen Branch in der Kommandozeile angezeigt:

Insgesamt bin ich recht begeistert von dem Jira Command-Line Client von Netflix. Er ist extrem schnell und ich muss nicht mehr so häufig den langsamen Web-Client bedienen. Außerdem ist dank Cmder (im Quake Modus) unter Windows die Kommandozeile nur eine Tastenkombination entfernt, so dass man schnell nur mit Tastenkombinationen zwischen IDE und Kommandozeile wechseln kann.

Ein paar kleine Kinderkrankheiten hat es zwar noch. So hat der Client beispielsweise aktuell Probleme mit unserem Firmenproxy. Dieses umgehe ich aber so, dass ich in dem Tab der Bash, in dem ich mit dem Jira interagiere, den Proxy per Bash Funktion ausstelle. Auch muss man aktuell (Version 4.0) manuell noch ein .jira.d Verzeichnis im Home-Verzeichnis anlegen da es ansonsten zu einem Fehler kommt da der Client keine cookies.js Datei anlegen kann. Rein grundsätzlich kann ich das Projekt nur empfehlen.