Vorschau von Confluence-Seiten in JIRA-Tickets anzeigen

Es ist ein recht übliches Vorgehen, dass Anforderungsdokumente sowohl in Confluence abgelegt und bearbeitet werden, als auch noch Tickets in JIRA erstellt werden, um die Anforderungen verfolgen und auswerten zu können. Produktmenschen arbeiten nunmal vielfach lieber mit dem featurereichen Editor im Wiki, als in einem JIRA-Beschreibungsfeld und Entwickler brauchen diese Informationen aber auch direkt in ihrem Arbeitstool JIRA. Dies führt dann dazu, dass Inhalte entweder an zwei Stellen gepflegt werden müssen oder in dem JIRA-Ticket nur ein Link auf die entsprechende Confluence-Seite verweist und damit unnötiges Context-Switching provoziert wird.

Wäre es nicht schön, wenn man die Confluence-Seite einfach als Vorschau in das JIRA-Ticket integrieren könnte?

Mit folgenden Schritten lässt sich dies mühelos bewerkstelligen, allerdings wird dazu das ScriptRunner Plugin von Adaptavist benötigt. Dies war bis vor kurzem kostenlos, ist jetzt aber leider mittlerweile kostenpflichtig.

Mit dem Plugin ScriptRunner lassen sich unter anderem in JIRA programmierbare benutzerdefinierte Felder anlegen. Zunächst wird ein normales URL-Feld mit dem Namen „Confluence URL“ angelegt, in welches der Nutzer die URL der Confluence-Seite eintragen kann.

url-field

Weiterlesen

JIRA-Administration: Anzeigen von benutzerdefinierten Werten in Scripted Custom Fields

Für JIRA-Vorgänge lassen sich standardmäßig jede Menge benutzerdefinierte Felder hinzufügen, die jedoch vom Bearbeiter dann manuell ausgefüllt werden müssen. Um in benutzerdefinierten Feldern automatisch Werte anzeigen zu lassen (read-only), die auf Berechnungen auf Werten aus der Datenbank basieren, können Scripted Custom Fields verwendet werden.

In folgendem Beispiel wird ein Feld zu einem JIRA-Vorgang hinzugefügt, in welchem angezeigt wird, wie lange sich ein JIRA-Ticket in einem bestimmten Workflow-Status befunden hat. Dies ist beispielsweise für die Ausgabe eines Berichts über die Bearbeitungsdauer der Tickets in einem Projekt interessant. Alle Felder können nämlich auch in Spalten eines Excel-Exports oder in Diagrammen auf dem Dashboard angezeigt und ausgewertet werden.

Hierzu muss zunächst das kostenlose Script-Runner-Plugin in der JIRA-Instanz installiert werden.

Als nächstes wird in der System-Administration von JIRA ein neues benutzerdefiniertes Feld angelegt. Um die Zeit des Vorgangs in dem Status „In Progress“ zu berechnen, erstellt man ein Feld „Time In Progress“ und benutzt dafür den durch das Plugin hinzugefügten neuen Typ „Scripted Field“.

scriptedfields3

Weiterlesen

Kundenservice mit dem JIRA Issue Collector

Um Kunden eine zusätzliche Supportleistung anzubieten, kann mit dem JIRA Issue Collector ein Feedback-Formular in die Webseite eingebaut werden. Mit diesem kann jeder Webseitenbesucher ein Ticket an den Support erstellen, das direkt in einen JIRA-Vorgang umgewandelt wird. Im Gegensatz zu dem gerade neu veröffentlichten JIRA Service Desk, der sich vor allem für firmeninterne Supportleistungen eignet, ist diese Art des Supports nicht an die Lizenzgröße von JIRA gebunden und kostet auch nichts extra. Es ist dem Kunden allerdings nicht möglich, den Status des Vorgangs zu verfolgen, da er nicht unbedingt einen Zugang zu JIRA besitzen muss (wie es bei dem JIRA Service Desk Voraussetzung ist). Aber die Tickets landen direkt im JIRA-System und können dort bearbeitet werden. Es ist also kein Zwischenschritt der Übertragung  z.B. einer Email in das System notwendig.

Seit JIRA Version 5.1. ist der JIRA Issue Collector ein fester Bestandteil einer jeden JIRA-Instanz. Zur Erstellung eines neuen Issue Collectors sind Adminrechte erforderlich.

Erstellen eines neuen Issue Collectors

Ein Issue Collector gehört immer zu einem Projekt und wird auch innerhalb eines Projekts hinzugefügt. Als Administrator mit globalen Rechten wird das JIRA-Projekt, in welchem die Supporttickets gesammelt werden sollen, aufgerufen und unter Adminstration der Punkt Issue Collectors ausgewählt. Hier sind alle für das Projekt erstellten Issue Collectors aufgeführt und es kann auch eine neuer Collector angelegt werden.

issuecollector-project

Weiterlesen

Atlassian-Plugins schreiben für Jedermann

In Vorbereitung auf das große Atlassian-Entwickler-Event „AtlasCamp“ in Amsterdam Ende Mai habe ich mir endlich mal angeschaut wie man denn ein eigenes Plugin für die Atlassian-Produkte schreibt. Die riesige Anzahl von Plugins im Atlassian-Marketplace läßt vermuten, daß die Pluginentwicklung von Atlassian gut unterstützt und gefördert wird und auch auf dem AtlasCamp ist sie das zentrale Thema.

Nachdem ich das nun ausprobiert habe kann ich nur sagen: Toll gemacht Atlassian! Ein erstes Plugin kann wirklich jeder ohne jegliche Hindernisse erstellen! Die Anleitung ist detailliert und gut verständlich, selbst für Nicht-Programmierer durchführbar und die Erfolgserlebnisse treten schon nach kurzer Zeit ein. Ein erstes HelloWorld-Plugin läßt sich in weniger als einer Stunde schreiben und in einer eigenen JIRA-Instanz, die gleich mitgeliefert wird, aufrufen und ausprobieren. Als einzige Systemvorraussetzung muss ein Java SDK 1.6.*  installiert und der Port 2990 offen und zugänglich sein, aber auch hierfür gibt es eine detaillierte Anleitung. Alles andere wird von dem Atlas-SDK mitgebracht, neben einer Jira-Standalone-Version auch Maven 2.1.0 und ein Tomcat 6-Server.

Die genaue Anleitung auf englisch von Atlassian findet ihr hier. Ich werde nur eine kurze Zusammenfassung geben, um euch auf den Geschmack zu bringen 🙂

Weiterlesen

Testmanagement-Plugins für JIRA und Confluence

Mit dem Universal Plugin Manager 2.0 hat Atlassian dieses Jahres neben einer überarbeiteten Oberfläche und vielen anderen neuen Features den Atlassian-Marketplace in seine Produkte integriert. Plugins lassen sich seitdem sehr angenehm durchstöbern und bei Interesse sofort installieren. Jeder Nutzer eines Atlassian-Produkts kann den Marketplace durchsuchen und dem Administrator Plugins zur Installation vorschlagen.

Plugin Marketplace

Die Installation der Plugins ist mit einem Klick des Administrators direkt aus der Anwendung heraus möglich. Dadurch wird unnötiges Context-Switching verhindert und alle Produktdaten (Licencekey, Konfigurationen) stehen automatisch zur Verfügung. Alle Plugins bieten eine 30-Tage-Probeversion an, womit man die Möglichkeit hat, alles erst einmal auszuprobieren und sich dann dafür oder dagegen zu entscheiden.

Seitdem spriessen die Plugins für Atlassian-Produkte nur so aus dem Boden. Jeder kann ein Plugin schreiben und es auf dem Marketplace anbieten.

Weiterlesen

Agile Projektplanung für Scrum- und Kanbanteams mit dem Rapid-Board

Sich agiler Softwareentwicklung zu verschreiben ist eine grundsätzliche Entscheidung. Bereits 2001 wurde hierzu von den wichtigsten agilen Softwareentwicklern der Zeit das Manifesto for Agile Software Development entworfen, das bis heute von vielen Entwicklern unterzeichnet wird. Dabei geht es darum, bestimmte agile Ziele in der Softwareentwicklung zu verfolgen: die Projektteilnehmer und deren gute Zusammenarbeit in den Mittelpunkt zu stellen, mehr Raum für die eigentliche Softwareentwicklung statt für aufwändige Dokumentationen zu lassen, eng mit den Kunden zusammenzuarbeiten und flexibel auf Änderungswünsche einzugehen.

Was ist das Rapid-Board?

Das Rapid-Board für das JIRA-Plugin Greenhopper gibt es seit August 2011. Seitdem wurde es mehrfach nachgebessert und den Wünschen der Entwickler in aller Welt angepasst. Mit dem Release 5.10 kam im Mai 2012 schließlich ein komplett neues Design für die Scrumplanung und Berichterstattung auf den Markt. Mittlerweile ist ein sehr schönes, intuitiv zu bedienendes Tool für die Planung agiler Projekte in JIRA entstanden. Wird das Greenhopper-Plugin in JIRA installiert, erhält man ein neues Agile-Menü.

Mit Greenhopper lassen sich die Aufgaben in JIRA  in verschiedenen Ansichten übersichtlich darstellen und im Rapid-Board die Arbeitspakete für den nächsten Sprint zusammenstellen.

Weiterlesen

Wie man JIRA-Vorgänge von einer JIRA-Instanz in eine andere überträgt

Wie der ein oder andere vielleicht schon feststellen mußte, wenn er mit mehreren JIRA-Instanzen zu tun hat, bietet JIRA leider standardmäßig nur den Export und Import ganzer Projekte oder des kompletten JIRA-Systems an. Wenn man aber nur eine individuelle Auswahl an Vorgängen übertragen möchte, kann der im folgenden beschriebene Workaround benutzt werden. Damit kann jeder beliebige Filter der sich in JIRA erstellen läßt exportiert und in einem anderen JIRA-System importiert werden. Da es dabei einiges bei der Bereinigung der Excel-Datei zu beachten gibt, kann der Arbeitsaufwand bei einer großen Anzahl an Vorgängen aus sehr unterschiedlichen JIRA-Versionen etwas ausarten. Aber für handliche Mengen ist dies durchaus eine Variante die gut funktioniert.

Daten in Excel exportieren

  • Erstelle einen Filter in JIRA mit allen Vorgängen, die du in das andere JIRA-System importieren möchtest
  • Gehe zu Ansichten/Views -> Excel (Alle Felder) und exportiere diese Vorgänge in eine Excel-Tabelle

Weiterlesen

Workflow zum Testen mit JIRA und Bonfire

Das im folgenden vorgestellte Testverfahren wird mit den kommerziellen Entwicklungstools JIRA und Bonfire von Atlassian durchgeführt. Diese werden mittlerweile in vielen Unternehmen weltweit eingesetzt, da die Lizenzen günstig und die Tools sehr gut für agile Softwareentwicklung geeignet sind.

Atlassian ist eine australische Softwarefirma die im Jahr 2002 von Mike Cannon-Brookes und Scott Farquhar in Sydney gegründet wurde, die sich aus Studienzeiten an der Universität von New South Wales kannten. Das Unternehmen machte 2009 einen Umsatz von AUD $58 Millionen und hat 20.000 Kunden weltweit. Atlassian ist Anbieter von Enterprise 2.0-Software.
JIRA ist das erste Softwareprodukt von Atlassian und seit 2002 auf dem Markt. Bonfire als ergänzendes Webseiten-Test-Plugin gibt es seit 2011. JIRA ist eine webbasierte Anwendung zur Fehlerverwaltung, Problembehandlung und operativem Projektmanagement. Primär wird JIRA für die Softwareentwicklung eingesetzt. Dort unterstützt es das Anforderungsmanagement, die Statusverfolgung und später den Fehlerbehebungsprozess. Der Name stammt vom ursprünglichen japanischen Namen für Godzilla, „Gojira“. Die Entwickler von JIRA wollten etwas mit Bezug zu Bugzilla und kamen so auf Gojira. Ausgesprochen wird es, der japanischen Lesart entsprechend, „Dschiera“ und nicht, wie vielfach fälschlich angenommen, „Dscheira“.

Eigentlich ist JIRA also für das Aufgabenmanagement gedacht. Vor allem wird in der Softwareentwicklung darüber das Bug-Management abgewickelt. Da Bugs häufig beim Testen gefunden werden, kann es Sinn machen, die Tests ebenfalls in JIRA abzubilden.

Hierbei handelt es sich mein eigenes Verfahren, das ich in folgendem Beitrag vorstellen will. Dabei werde ich erklären wie das Testen in JIRA funktioniert, wie es eingerichtet wird und was es für Vorteile hat.

1. Von UserStories zu Testcases

Zunächst werden aus vorhandenen UserStories Testcases für das Testen in JIRA erstellt.

Wie sollte ein Testcase aussehen?

Ein Testcase ist die kleinstmögliche Einheit in einer UserStory, wenn möglich nur eine Aktion des Nutzers. Er besteht aus einer Vorbedingung, einer durchzuführenden Aktion und einem erwarteten Ergebnis.

Beispiel:

Testcase: A reason is given why the login is in this particular context necessary
Pre-Condition:
User is not logged in
Action:
Check if next to login form a reason is given why the login is in this particular context necessary, incl. links to help articles.
Expected Result:
The reason is given and understandable, links to help are available.

Weiterlesen