PlatformApplicable to all products in Temenos Journey Manager. | All Personas | All versions This feature is related to all versions.
Application packages are the output of the Continuous Integration pipeline that can be deployed into Journey Manager servers. Application packages are ZIP files containing a folder structure and files that define:
An application package is created by the Ant app-package
task. It contains a JSON definition file (shown below), which contains references to other definition files.
{
"name": "Hello World App package",
"description": "TODO...",
"clientCode": "maguire",
"delivery": [
"delivery/rest-service-delivery-def.json",
"delivery/trash-can-delivery-def.json"
],
"forms": [
"forms/CCA-MAESTRO-AP/cca-maestro-form-def.json",
"forms/customer-enquiry-ap/customer-enquiry-form-def.json"
],
"properties": [
"properties/property-def.json",
"properties/property-de-def.json",
"properties/property-def1.json"
],
"connections": [
"connections/connection-def.json",
"connections/connection-def2.json"
],
"services": [
"services/helloworld/service-def.json"
]
}
{
"name": "Hello World Delivery Process",
"deliveryMethod": "REST Service",
"defaultChannel": true,
"retryDelayMins": 15,
"serviceName":"Hello World Delivery Process"
}
This delivery service definition appears in Manager as shown below.
This definition causes a form to be uploaded into Maestro, and subsequently be visible in Manager.
{
"name":"Credit Card Application Maestro",
"formCode":"CCA-MAESTRO-AP",
"currentFormVersionNumber":"9",
"formVersionSelector":{
"serviceName":"A/B Testing Form Version Selector",
"serviceVersion":1
},
"trackingCodeService":{
"serviceName":"Random Tracking Number",
"serviceVersion":1
},
"deliveryChannels":{
"productionDelivery":"Hello World Delivery Process",
"abandonDelivery":"Hello World Delivery Process",
"validationFailureDelivery":""
},
"dataRetention":{
"savedDays":30,
"finishedDays":5
},
"emailConfirmation":"Confirmation and PDF Receipt",
"formSpaces":[
{
"name":"Maguire",
"anonAccess":true,
"authAccess":true
}
],
"formVersions":[
{
"versionNumber":"9",
"formDataEncryption":true,
"formType":"Maestro Form",
"formVersionFile":"./form-version-Credit_Card_Application_Maestro-all-2017-06-26.zip",
"properties":[
{
"name":"Form Description",
"description":"Form Description",
"dataType":"String",
"value":""
},
{
"name":"Locale De",
"description":"Form Description",
"dataType":"JSON",
"valueFile":"locale-de.json"
}
],
"formDataConfig":{
"contactEmailXPath":"//ContactDetails/EmailAddress"
}
},
{
"versionNumber":"8",
"formDataEncryption":true,
"formType":"Maestro Form",
"formVersionFile":"./form-version-Credit_Card_Application_Maestro-all-2017-06-26.zip",
"properties":[
{
"name":"Form Description",
"description":"Form Description",
"dataType":"String",
"scope":"Form",
"value":""
}
],
"formDataConfig":{
"contactEmailXPath":"//ContactDetails/EmailAddress"
}
}
]
}
The form appears in Manager as shown below.
When specifying forms, form version archive files need to be exported from Manager, saved locally, and checked into source control. They can then be referenced by a formVersionFile
property in the formVersions
array of the form definition JSON fil (shown above).
You can export a selected form in the Manager as shown below.
The emailConfirmation
property, if specified, must be one of the following values:
{
"key.de": "Brüderlich zusammenhält"
}
{
"name": "Email Sender Address",
"description": "Sender email address for generated emails, overriding the global email sender address.",
"scope": "Form",
"dataType": "String",
"value": "[email protected]"
}
This property appears in Manager as shown below.
{
"name": "FIS Connection",
"type": "HTTP Endpoint",
"endpoint": "https://some-endpoint.com/",
"username": "username",
"password": "password",
"dataFile": ""
}
After installation of the application package, the above service connection details will be available to see in Manager:
{
"name": "Hello World Delivery Process",
"description": "",
"type": "Delivery Process",
"version": 1,
"tmMinVersion": "5.0.0",
"parameters": [
{
"name": "groovyScript",
"filePath": "HelloWorld.groovy",
"fileIncludes": [],
"bind": true,
"required": false,
"clearOnExport": false,
"readOnly": false
},
{
"name": "Unit Test Script",
"filePath": "HelloWorldTest.groovy",
"fileIncludes": [],
"bind": false,
"required": false,
"clearOnExport": false,
"readOnly": false,
"unitTest": true
},
{
"name": "Help Doc",
"type": "HTML",
"filePath": "service-help.html",
"bind": false,
"required": false,
"clearOnExport": false,
"readOnly": false
}
]
}
import com.avoka.core.groovy.GroovyLogger as logger
import com.avoka.tm.vo.*
import javax.servlet.http.*
class HelloWorld {
/*
* Perform Form Dynamic Data service call.
*
* returns: REST response text data
*/
String invoke(SvcDef svcDef, Txn txn, HttpServletRequest request, User user) {
// TODO: replace with data lookup call
String data = '''{
"address": {
"firstLine": "123 Wall Street"
}
}'''
return data
}
}
The two files above will provision Manager with a new service with the following Groovy script.
Next, learn about Continuous Integration.