Tatsächlich ist Report Builder für Jira extrem flexibel. Wie du mit seiner Hilfe nicht nur einen klassischen Report erstellst, sondern sogar eine (wunderschöne) Rechnung, zeigen wir dir im Folgenden.
In unserem Beispiel wirst du feststellen, dass mit ein wenig Kreativität und Coding ganz besondere Ansprüche in Jira erfüllt werden können. Klar: Ganz ohne Arbeit geht es nicht. Doch das Ergebnis ist dafür ganz genau das, was dir am Ende wirklich weiterhilft.
Warum eine Reporting-App für eine Rechnung?
Report Builder für Jira wurde entwickelt, um es Nutzer*innen zu ermöglichen, Daten aus Jira zu ziehen und sie woanders zu benutzen. Zu Beginn baute die App Timesheets – heute können damit Jira-Vorgänge mit all ihren enthaltenen Daten in Berichte und sogar Rechnungen verwandelt werden.
Normalerweise ist das keine einfache Sache: Denn zuerst musst du die Daten aus Jira heraus exportieren, etwa als CSV-Datei, und dann z. B. in Excel importieren und weiter bearbeiten. Bis daraus dann – ob in Excel oder einen anderen externen Applikation – ein Bericht (oder eine Rechnung) entstanden ist, werden in der Regel zahlreiche Schritte benötigt. Das kostet Zeit, Nerven und ist außerdem fehleranfällig. Ein Zahlendreher kann, gerade bei Rechnungen, einiges an Problemen mit sich bringen.
Report Builder für Jira schafft Abhilfe – ganz ohne Datentransformation durch Drittanbieter-Apps. So bleiben die Daten komplett in Jira Cloud, ein großes Plus auch in puncto Datensicherheit. Du brauchst also weder Data Processing Engines noch andere Apps – garantiert!
Wie funktioniert das Ganze?
Du bist neugierig geworden? Dann lies einfach weiter, denn jetzt erklären wir, wie mit Report Builder selbst komplexe Rechnungen direkt aus Jira erstellt werden können. Für alle, die Jira kennen, klingt es vielleicht fast unmöglich, aber es ist im Grunde ganz einfach (zumindest mit unserer App)!
Als erstes lädst du dir die App Report Builder: Jira Reports and Data Analysis vom Atlassian Marketplace herunter. Installiere sie in deiner Jira-Instanz – ab dann findest du die App im Tab “Apps”. Dort siehst du eine Menge Templates für vorbereitete Berichte, bspw. “Closed vs. Reopened” oder “Created vs. Resolved”. Die Namen sprechen für sich. All diese Berichte kannst du sofort nutzen, sie erstellen dir in wenigen Minuten den gewollten Bericht. Jeder Report kann zu den persönlichen Reports der jeweiligen Nutzer*in hinzugefügt werden.
Zum Knackpunkt: Erstellen eines neuen “Scripted Reports”
Doch wie kommst du nun zu deiner erwähnten Rechnung? Oben rechts im Menü siehst du den Button “New Scripted Reports” (hier eine Rechnung).
Dort siehst du den Template-Tab, der deinen HTML-Code und die CSS-Styles enthält, sowie den Script-Tab. Das Ganze wird mit JavaScript-Code funktionell gemacht.
Los geht’s mit der eigentlichen Rechnung! Definiere deine Mindestanforderungen: Wahrscheinlich benötigt dein Dokument ein Logo, eine Adresse, den Namen des Unternehmens, die E-Mail, Telefonnummer, etc. Dazu kommen die normalen, dynamischen Daten einer Rechnung: Rechnungsnummer, Datum, die Anzahl der in Rechnung gestellten Produkte oder Services, die Rechnungssumme usw. Der Flexibilität der enthaltenen Daten sind hierbei keine Grenzen gesetzt.
Dabei wird schlicht im Script gecodet – anschließend schickst du alles zum Template. Genau dort erstellst du die verschiedenen Parameter, die deine Rechnung enthalten soll, wie den Titel und die Beschreibung. Lege die verschiedenen Parameter an und sende sie danach an dein Template. Dazu nutzt Report Builder das Handlebars-Framework: Es erlaubt dir, Variablen in HTML-schöne Syntax umzuwandeln. Die Daten aus Jira werden per JavaScript über die Handlebars ins Template (HTML+CSS) gebracht. Nach einem Refresh siehst du schon die Ergebnisse in der Vorschau. Das Ganze funktioniert übrigens für jede Art von Report, nicht nur für Rechnungen.
Sofern du dich mit dem Coden etwas auskennst, weißt du nun sicherlich schon, worauf das alles hinausläuft (für alle anderen: Keine Sorge, wir erklären es Schritt für Schritt).
Drei Schritte mit Report Builder für Jira: Daten besorgen, Daten berechnen und Daten anzeigen
In unserem Beispiel erstellen wir eine sehr einfache Rechnung. Dazu nutzen wir die Daten aus nur einem Jira-Vorgang und erstellen eine Rechnung mit einem Posten.
1. Schritt: // get data
Wir wollen die Daten aus einem bestimmten Ticket ziehen. Dazu benötigen wir ein Eingabefeld, dessen Wert wir ins Script übertragen. Wähle den Feld-Typen “Issue Picker” aus dem Dropdown-Menü aus, gib einen Feld-Namen und einen Feld-Titel ein, und fertig ist das Eingabefeld. Als Nächstes müssen die Daten aus dieser Auswahl im JavaScript-Code landen. Dazu gibt es vorgefertigte Codeschnipsel in der Dokumentation. Ist alles eingefügt, können wir uns die Jira-Vorgänge ansehen und suchen den aus, den wir in Rechnung stellen wollen oder, besser gesagt, dessen Daten wir für die Rechnung benötigen!
2. Schritt: Die Daten berechnen
Nun passieren einige interessante Dinge. So speichert Jira für gewöhnlich z. B. die Dauer von erfasster Arbeitszeit, in Sekunden. Du musst daher zunächst die Sekunden in Stunden umwandeln (durch 3600 teilen, dann sind es Stunden). Mit JavaScript kann dieser Wert dann abgerundet werden.
Herzlichen Glückwunsch! Die erste, einfache Version der Rechnung ist fertig!
3. Schritt: Die Daten (schön) anzeigen
Dieser Teil benötigt etwas mehr Zeit, doch die Investition lohnt sich, denn dann wird deine gewünschte Rechnung am Ende toll aussehen! Du kannst mit CSS arbeiten, um Farben, Schriftarten und mehr hinzuzufügen.
Geht es auch simpler? Natürlich! Indem du einen online WYSIWYG-Editor, wie z. B. http://onlinehtmleditor.dev nutzt, anstatt dich tief in HTML und CSS einzugraben (WYSIWYG steht übrigens für “what you see is what you get”). Dort baust du deine Vorlage wie gewünscht auf und kopierst daraufhin das Ganze, fügst es ins Template ein und arbeitest dort weiter, um alles anzupassen und zu verbessern. Einfach, aber effektiv!
Übrigens, es handelt sich um Live-Daten. Das macht dieses System so besonders. Das bedeutet, dass Änderungen in den Jira-Tickets immer auch in Echtzeit im Bericht (oder in diesem Fall in der Rechnung) landen. Ebenso wird beispielsweise das Datum immer korrekt eingesetzt werden, sobald die Endnutzer*innen die Rechnung befüllen.
Das Highlight ist die absolute Flexibilität des Systems. Wenn die Rechnungsnummer eine Kombination aus Buchstaben und Zahlen sein muss, wird einfach ein weiteres Input-Field hinzugefügt. Alles wird über die Felder kontrolliert.
Was immer noch in die Rechnung gehört – Preis, Raten, Gesamtsumme etc. – alles wird mithilfe der Felder und dem benutzten WYSIWYG-Editor codiert. Alternativ kannst du deinen eigenen Code in HTML oder CSS erstellen. Du entscheidest, was dir lieber ist oder wie viel Zeit du aufwenden kannst oder möchtest.
Die Rechnung, bitte! Schon fertig? Ja!
Deine (wunderschöne) Rechnung ist fertig! Du kannst sie nun als Report im Report Builder sehen und aufrufen.
Hast du die Rechnung erst einmal erstellt, kannst du sie anschließend als PDF exportieren oder deinem Team oder der Buchhaltung zur Verfügung stellen. Ebenso hast du die Möglichkeit, die Berechtigungen dafür zu teilen (unter “Report Permissions”): So kannst du die Rechnung entweder öffentlich machen oder nur bestimmten Usern die Erlaubnis erteilen, sie zu benutzen.
Und selbstverständlich können alle mit der entsprechenden Berechtigung den “Rechnungs-Report” ebenfalls neu ausfüllen, immer und immer wieder! So können gesammelte Live-Daten aus Jira in eine funktionelle Rechnung verwandelt werden, die dir und deinen Teammitgliedern zukünftig Zeit sparen kann.
Die Roadmap von Report Builder für Jira
Hat dir die Idee, eine ebenso funktionale wie optisch ansprechende Rechnung direkt in Jira zu erstellen, gefallen? Mit Echtzeitdaten und ohne alles mühsam aus Jira exportieren zu müssen? Dann folge uns gerne, denn unsere Roadmap für den Report Builder ist riesig: So werden wir zukünftig zum Beispiel die Prozesse der Datenverarbeitung vereinfachen, spezielle Libraries entwickeln, um Daten hinzuzufügen, ohne viel Code schreiben zu müssen, und vielem mehr! Auch neue Projekt-, Sprint- oder Dashboard-Berichte stehen auf unserer Agenda.