Das InstaPrinta Jira Plugin verwendet eine Template-Engine, mit der es möglich ist, auch eigene Vorlagen nach den eigenen Wünschen und Anforderungen zu erstellen. Dabei kommt XSLT und XSL-FO zum Einsatz. Wenn Sie das entsprechende Wissen in den Technologien mitbringen, haben Sie vielfältige Gestaltungsmöglichkeiten. Im folgenden finden Sie eine kurze Beschreibung der Funktionsweise und weitere Beispieltemplates, die Sie für die eigene Anpassung verwenden können.
Inhaltsverzeichnis
Funktionsweise der Instaprinta Template Engine
Das Instaprinta Jira Plugin verwendet XML / XSL Technologie, um Jira-Issues in ein druckbares Format zu überführen. Dabei
Jira Issues als XML
Im folgenden ein Beispiel-XML-Dokument, wie es vom Instaprinta erzeugt wird und via XSLT verarbeitet werden muss.
<?xml version="1.0" encoding="UTF-8" ?> <issues> <issue> <___ip.key___>KBEP-1</___ip.key___> <___ip.summary___>Swimlanes on Kanban boards</___ip.summary___> <___ip.description___><p><b>HTML-Formatted description</b></p></___ip.description___> <___ip.qrcodeimage___><!-- Base 64 encoded image content --></___ip.qrcodeimage___> </issue> <issue> <___ip.key___>KBEP-2</___ip.key___> <___ip.summary___>The second description</___ip.summary___> <___ip.description___>The second issue</___ip.description___> <___ip.qrcodeimage___></___ip.qrcodeimage___> </issue> </issues>
Jira-Inhalte zur Verwendung in Templates
Die im folgenden Bild mittels farbigen Kreisen durchnummerierten Elemente aus der Vorgangssicht, sind in den vorgefertigten Templates teilweise vorhanden beziehungsweise können zur Erstellung eigener Templates verwendet werden. Für den Direkt-Druck bzw. die PDF-Erzeugung wird Apache FOP zur Transformation von Templates im XSL-FO-Format (einem speziellen XSL-Stylesheet, W3C-Standard) verwendet.
Platzhalter für Jira-Feldwerte zur Verwendung in Templates
In den Templates können an beliebigen Stellen Platzhalter für die oben gekennzeichneten Elemente der Vorgangssicht verwendet werden, welche im folgenden aufgelistet sind. Als Beispiel und zum Testen aller Felder kann das Template InstaPrinta - Template Creation Guide 2.1.0 verwendet werden.
- Vorgangsschlüssel (
___ip.key___
) - Zusammenfassung (
___ip.summary___
) - Beschreibung (
___ip.description___
) - Vorgangstyp (
___ip.issuetype___
) - Vorgangstyp-Icon (
___ip.issuetypeIcon___
) - Verbessertes und größeres Vorgangstyp-Icon (
___ip.issuetypeStyledIcon___
) - Priorität (
___ip.priority___
) - Priorität Icon (
___ip.priorityAsIcon___
) - Stichwörter (
___ip.labels___
) - Komponenten (
___ip.components___
) - Status (
___ip.status___
) - Lösungsversionen (
___ip.fixVersions___
) - Lösung (
___ip.resolution___
) - Bearbeiter - Benutzername (
___ip.assignee___
) - Bearbeiter - Angezeigter Name (
___ip.assigneeName___
) - Autor - Benutzername (
___ip.reporter___
) - Author - Angezeigter Name (
___ip.reporterName___
) - Ersteller - Benutzername (
___ip.creator___
) - Ersteller - Angezeigter Name (
___ip.creatorName___
) - Fälligkeitsdatum (
___ip.duedate___
) - Ursprüngliche Schätzung (Zeit) (
___ip.originalEstimate___
) - Verbleibende Schätzung (Zeit) (
___ip.timeestimate___
) - Protokollierte Zeit (
___ip.timespent___
) - Erstellungsdatum (
___ip.created___
) - Aktualisierungsdatum (
___ip.updated___
) - Lösungsdatum (
___ip.resolutionDate___
) - Votes (
___ip.votes___
) - Elternvorgang (
___ip.parent___
) - Projektname (
___ip.projectName___
)
- Epos-Verknüpfung (
___ip.epiclink___
) - Sprint (
___ip.sprint___
) - Story Points (
___ip.storypoints___
) - Rank (Sortierung in Planungsansicht) (
___ip.rank___
)
- URL (
___ip.url___
) - Storypoint Color (
___ip.storypointsColor___
) - QR-Code der URL (
___ip.qrcodeimage___
) - Schätzung (SP oder Zeit) (
___ip.estimate___
) - Benutzerdefinierte Felder
- Schema:
___ip.customfield_xxx___
xxx
entspricht einer Ziffernfolge, z.B.___ip.customfield_10000___.
- Eine vollständige Tabelle aller Felder ist auf der globalem Konfigurationsseite zu finden.
- Schema:
Weitere Templatebeispiele
4 Issues auf einer Seite
Das Papierformat kann relativ simpel auf A4-Format mit zwei Spalten umgestellt werden:
<fo:layout-master-set> <fo:simple-page-master master-name="A4-landscape" page-height="21cm" page-width="29.7cm" margin="0.5cm" margin-top="0.3cm"> <fo:region-body margin="5mm 0mm 5mm 0mm" column-count="2" column-gap="4mm" /> </fo:simple-page-master> </fo:layout-master-set>
Dann muss dies in der Page-Sequence entsprechend angepasst werden.
<fo:page-sequence master-reference="A4-landscape" font-family="'DejaVu Sans'" font-size="10pt"> <fo:flow flow-name="xsl-region-body"> <xs:apply-templates select="//issue" /> </fo:flow> </fo:page-sequence>
Komplette XSL-Datei zum Download: InstaPrinta - Template Creation Guide 2.1.0
Weitere Informationen zu XSL-FO
Apache FOP 1.1:
http://xmlgraphics.apache.org/fop/
XSL-FO: