...
Function | Description | Using in ConfiForms Field macro | Using in ListVIew/PlanView/CalendarView or in IFTTT macro body | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
urlencode | Does URL encode on given value, see "urlEncode" method in | myfield.urlencode | [entry.myfield.urlencode] | |||||||||||||
escapeXML | Escapes XML on given value, see "escapeXml" method in | myfield.escapeXml | [entry.myfield.escapeXml] | |||||||||||||
escape | Escapes string as in "escapeForHtmlAttribute" method in | myfield.escapeForHtmlAttribute | [entry.myfield.escapeForHtmlAttribute] | |||||||||||||
formatDate | Tries to format date fields in the specified format, expects date format as in http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html | myfield.formatDate(JAVA_FORMAT) | [entry.myfield.formatDate(JAVA_FORMAT)] (no quotes) | |||||||||||||
jiraDate | Same as "formatDate" method above, but specifies constant dateformat pattern (yyyy-MM-dd), suitable for JIRA REST API | myfield.jiraDate | [entry.myfield.jiraDate] | |||||||||||||
jiraDateTime | Same as "formatDate" method above, but specifies constant dateformat pattern ("yyyy-MM-dd'T'HH:mm:ss.SSSZ"), should be compatible with ISO 8601 standard as JIRA requires when setting timestamps to JIRA fields | myfield.jiraDateTime | [entry.myfield.jiraDateTime] | |||||||||||||
escapeJSON | Escapes illegal characters in the field value to generate a valid JSON property. New lines, quotes, tabs and etc will be properly escaped | myfield.escapeJSON | [entry.myfield.escapeJSON] | |||||||||||||
asArray asArrayMultiSelect asArrayMultiUserPicker
| Tries to create an array from the value. Useful when you want to pass ConfiForms multi-select values to JIRA. Something like
There are variations to support other multi-select fields in JIRA
| myfield.asArray myfield.asArrayMultiSelect myfield.asArrayMultiUserPicker | [entry.myfield.asArray] [entry.myfield.asArrayMultiSelect] [entry.myfield.asArrayMultiUserPicker] | |||||||||||||
replaceCRLFWithBR | Replaces CR/LF with <BR/> to show with line brakes in HTML (useful when you reference the textarea field using [entry.] notation) | myfield.replaceCRLFWithBR | [entry.myfield.replaceCRLFWithBR] | |||||||||||||
asUserFullNames | Works only with User multi-select fields and shows list of full names for selected users | myfield.asUserFullNames | [entry.myfield.asUserFullNames] | |||||||||||||
asUserEmails | Works only with User multi-select fields and shows list of emails for selected users | myfield.asUserEmails | [entry.myfield.asUserEmails] | |||||||||||||
asUserNames | Works only with User multi-select fields and shows list of usernames for selected users | myfield.asUserNames | [entry.myfield.asUserNames] | |||||||||||||
friendlyDate | Formatting date and date/time field types with https://docs.atlassian.com/confluence/latest/com/atlassian/confluence/core/datetime/FriendlyDateFormatter.html | myfield.friendlyDate | [entry.myfield.friendlyDate] | |||||||||||||
asCount | Returns size of a collection for multi-value fields or number of chars for other types | myfield.asCount | [entry.myfield.asCount] | |||||||||||||
asSize | Returns size of a collection for multi-value fields or number of chars for other types (same as "count") | myfield.asSize | [entry.myfield.asSize] | |||||||||||||
asLength | Returns size of a collection for multi-value fields or number of chars for other types | myfield.asLength | [entry.myfield.asLength] | |||||||||||||
formatCurrency
| Tries to format value as currency using either default or given format https://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html If value could not be formatted according to given format then value will be returned as is
| myfield.formatCurrency(JAVA_FORMAT) myfield.formatCurrency() (default decimal format is used if empty) | [entry.myfield.formatCurrency(JAVA_FORMAT)] (no quotes, JAVA_FORMAT could be empty, default will be used)
[entry.myfield.formatCurrency(# ###.##)] [entry.myfield.formatCurrency(# ###.00)] | |||||||||||||
formatNumber | alias to formatCurrency | myfield.formatNumber(JAVA_FORMAT) myfield.formatNumber() (default decimal format is used if empty) | [entry.myfield.formatNumber(JAVA_FORMAT)] [entry.myfield.formatNumber(# ###.##)] [entry.myfield.formatNumber(# ###.00)] | |||||||||||||
asFilteredBy(FILTER) | Very powerful function to extract the value by given filter (mostly used for multi-value fields). Especially useful with Multi-select fields which are of type "smart fields", the ones referencing other forms and fields Example: You have one form which has a field called "mf" which holds multi-value references to another form which has the following fields: name, surname, position Then... when showing the data from the first form you can actually show only specific choices. For example:
| entry.mf.asFilteredBy(FILTER) | Filter should be in a format: property:filter [entry.mf.asFilteredBy(name:Alex)] The following filters are supported:
| |||||||||||||
trimAllSpaces | Removes all the spaces in the field value. Can be used when creating page labels automatically from ConfiForms field values and want to ensure the value is taken as a label and not split by spaces into differenet labels | entry.myfield.trimAllSpaces | [entry.myfield.trimAllSpaces] | |||||||||||||
camelCase | Makes a CamelCase string from a given value | entry.myfield.camelCase | [entry.myfield.camelCase] | |||||||||||||
camelCaseAndTrim | Makes a CamelCase string from a given value and, additionally, removes all the spaces | entry.myfield.camelCaseAndTrim | [entry.myfield.camelCaseAndTrim] | |||||||||||||
addCRLF | Adds CR and LF characters after the value | entry.addCRLF | [entry.addCRLF] | |||||||||||||
addCRLFHtml | Adds <br/> (brake) after the value in HTML format | entry.addCRLFHtml | [entry.addCRLFHtml] | |||||||||||||
trunc(NUMBER) | Truncates the value. Leaves "n" first symbols | entry.trunc(100) | [entry.trunc(100)] | |||||||||||||
asAttachment asAttachment(n) | You can reference a particular attachment stored in Confluence and linked though ConfiForms Field (either File or Attachment picker) n - is the index of the attachment stored/linked using ConfiForms Field. Index starts with 0. When no index is specified, then the 1st attachment is taken (1st attachment is stored with index 0) This means that
This function is a "bridge" to get other properties of the attachment stored. See below. | entry.asAttachment | [entry.asAttachment] [entry.asAttachment(0)] [entry.asAttachment(1)] | |||||||||||||
asAttachment.base64 asAttachment(1).base64 | Returns bas64 encoded string of the file contents in this attachment | entry.asAttachment.base64 | [entry.asAttachment.base64] [entry.asAttachment(0).base64] [entry.asAttachment(1).base64] | |||||||||||||
asAttachment.ANY_PROPERTY asAttachment(n).ANY_PROPERTY
| Where ANY_PROPERTY is the "get" methods of the class Attachment https://docs.atlassian.com/confluence/5.9.1/com/atlassian/confluence/pages/Attachment.html Examples:
| |||||||||||||||
asUser.username asUser.fullName asUser.email asUser(n).username asUser(n).fullName asUser(n).email | When working with multi-select user control/field and want to get a particular user info
| |||||||||||||||
asEntryRef(REF_TO_ENTRY) | Example:
This will return
When this is necessary? The use case is when you use it within an IFTTT or have a ListView which has another ListView inside and you want to prevent ConfiForms from applying the context variables onto the sub-lists
The function can be used with any field type (as long as the field exists) and actually the following constructions are perfectly valid
As you can see we apply the function on the same ID field (exists in every ConfiForms record) and the parameter you give in is the important bit in all this... So, the parameter (PARAM) you give to asEntryRef is wrapped into the brackets and returned:
| |||||||||||||||
asJSON | Converts a value to JSON and allows to access JSON object properties | entry.myfield.asJSON.someJSONProperty entry.myfield.asJSON.anotherJSONProperty | ||||||||||||||
asUserProfile | Converts to User profile (or tries to, if a given field value can be resulved as a user object) Available user profile properties (all standard ones, available in the profile) to reference are:
| entry.somefield.asUserProfile.phone entry.somefield.asUserProfile.im entry.somefield.asUserProfile.website entry.somefield.asUserProfile.position entry.somefield.asUserProfile.department entry.somefield.asUserProfile.location
| [entry.somefield.asUserProfile.phone] [entry.somefield.asUserProfile.im] [entry.somefield.asUserProfile.website] [entry.somefield.asUserProfile.position] [entry.somefield.asUserProfile.department] [entry.somefield.asUserProfile.location] |
...