Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

If you are exporting a date field such as CreatedDate and LastUpdateDate, you can define how the date is displayed. All the patterns supported by the DateTimeFormatter Java API are supported.

Definition: 

${dateformat("<Format>"):<Field name>}
Code Block
titleExpand to see the examples on sample code
collapsetrue
${dateformat("yyyy-MM-dd"):Created}
${dateformat("EEE, MMM d, ''yy"):Created}
${dateformat("EEE, d MMM yyyy HH:mm:ss Z"):Updated}

...

You can also specify the Locale you want to use. All the Locales in JRE 7 Supported Locales page are supported.

Definition: 

${numberformat( "<pattern>" ):<Field name>}

${numberformat( "<Locale>" , "<pattern>" ):<Field name>} 

Code Block
titleExpand to see the examples on sample code (considering Price as a custom Number Field)
collapsetrue
${numberformat("###,###.###"):Price}
${numberformat("\u20AC ###,###.###"):Price}
${numberformat("de_DE" , "###,###.###"):Price}
${numberformat("##0.#####E0"):Price}
${numberformat("en_UK" , "#0.#####%"):Price}

...

If you are exporting a User Picker or Multiple Users custom field, you can output the Display Name using the fullname function.

Definition: 

${fullname:<Field name>}
Code Block
titleExpand to see the example on sample code
collapsetrue
${fullname:UserCustomField}

...

If you are exporting a User Picker or Multiple Users custom field, you can output the email using the emailaddress function.

Definition: 

${emailaddress:<Field name>}
Code Block
titleExpand to see the example on sample code
collapsetrue
${emailaddress:UserCustomField}

...

This function allows fields with line breaks or other special characters to be used inside JavaScript.

Definition:

${escape:<Field name>}
Code Block
titleExpand to see the examples on sample code
collapsetrue
${escape:Description}
${escape:Custom Field}
 
%{('${escape:Description}'.length > 0) ? 'This issue has description': 'This issue does not have description'

...

Furthermore, this field allows you to execute JavaScript action on the duration time field and export the result.
 

Definition: 

${durationformat:<Field name>}

Code Block
titleExpand to see the example on sample code
collapsetrue
${durationformat:Custom Field}

${durationformat:%{var timeValue="<Value>"; timeValue;}}

Set

This function allows you to create new variables that will be treated as fields (mappings), and then use it to change the values of those variables.
The new value passed to the Set function can be plain text, an existing field (mapping) or a Helper Functions field.
In the case of templates having Static Sections, you can create new variables outside of said Static Sections and use those variables inside the same Static Sections.

Definition:

${set(<variable name>,<new value>)}
Code Block
titleExpand to see the examples on sample code
collapsetrue
Define a variable "count" with value "0" and then use it as a normal field.

${set(count,0)}  
${count} 
 
Define a variable "newKey" with the value of field ${Key} and then use it as a normal field.

${set(newKey,${Key})}  
${newKey}

Define a variable "TodayDate" with the value of the current date calculated with Javascript and then use it as a normal field

${set(TodayDate,%{(new Date()).getDate() + "/" + ((new Date()).getMonth()+1) + "/" + (new Date()).getFullYear()})} 
${TodayDate} 
 
Info
titleNote

The function Set can be also used to change the value of existing fields (i.e., existing mappings), but it has a limitation: all occurrences of that field in the document will be replaced with the value of the latest Set that is applied.

Info
titleNote

The values of all the variables (mappings) created with the Set function and used on the header/footer of a template will correspond to the last value passed to the Set function.  

Prop 

This function allows you to define properties that will be used later by Xporter during the document processing.

Usually, integrations require some extra configuration such as security tokens, API keys and others.

Specification

Function Nameprop
First ParameterKey
Second parameterValue

Notation

Code Block
${prop(Key,Value)}


Example

Code Block
${prop(my.first.property.key,qwerty12345)}
${prop(service.api.key,84f7970c-5f70-47d9-a4f2-c75151820ba0)}
${prop(service.api.username,userAdmin)}

Image Loader

This function basically loads an image from a URL and puts that on the document. You can also specify the width and/or height of the images.

Definition: 

!{<URL>}


Below are two examples: 

Image Added

or 

Info

 To use the code below, check how to iterate here.

Image Added

After exporting the document, the generated file is going to see this:

Image Added

Info

 This functionality is available for Excel templates on Xporter V5.3.0 and higher.

QRCode 

This function allows you to create a QRCode image on the template. It accepts as content other Xporter mappings.

Definition:

${qrcode('<content>',(Optional) <width>, (Optional) <type>)}
Code Block
titleExpand to see the examples on sample code
collapsetrue
Draws a QR Code image with the content Hello World.
${qrcode(‘Hello World’)}


Draws a QR Code image with the Issue Key as content.
${qrcode(‘${Key}’)}


Draws a QR Code image with a Javascript result as content.
${qrcode(‘%{‘${Key}’.substring(0,2)}’)}

Draws a QR Code image with the content noreply@xpand-it.com and the QR Code type email.
${qrcode(‘noreply@xpand-it.com’,email)}


Draws a QR Code image with the content Hello World and width size 200px.
${qrcode(‘Hello World’,200)}


Draws a QR Code image with the content Hello World, width size 200px and the QR Code type email.
${qrcode(‘hugo.freixo@xpand-it.com’,200,email)}
 

QR Code Content

You can use any mapping on the content of the QR Code function, but you must be careful because Markups won't generate the expected result.

If you try to export ${qrcode(‘${wiki:Description}’)} or ${qrcode(‘${html:Description}’)}, the content of the QR Code won't be correct.

You can apply format mapping such as dateformat, numberformat, fullname or emailaddress.


QR Code Types

Info

 You can learn more about QR Code types here. Note that these types may depend on the QR Code reader and the obtained result may be different than expected.

  • Text - Plain text. It's the same as not having a type defined.
  • URL - The content will be read as a URL link.
  • Phone - The content will be read as a phone number.
  • Geolocation - The content will be read as GPS coordinates. Content example: "41.714316, -8.811993".
  • Email - The content will be read as an email.
  • Wifi - The content will be read as a Wifi connection. Content example: T:WPA;S:NetworkName;P:NetworkPassword; 
  • VCard - The content as a VCard. Please note that not all devices are prepared to understand VCard details. More information here.


QR Code Width

The width of the QR Code must be a value between 0 and 409 (pixels).
If the user introduces a value outside this interval, the width will be set to its default value (177px).

The user must choose a width large enough for the amount of content in the QR Code. Usually, 100px - 200px is enough.