Templates

Templates are simple Groovy scripts and custom Inputs, which are then used create FlexDeploy projects using CSV file. Template can have inputs which map to CSV file headers which are passed into the groovy script for execution. Inputs allow the groovy script to be very dynamic and create projects with different attributes.

Templates can be accessed through the Administration menu.

Predefined Templates

FlexDeploy provided pre-defined templates as described below.

Template NameTemplate Details
BaseADFApplicationProjectprovides the script and base inputs to create an ADF application project.
SimpleADFApplicationProjectprovides a simple script and base inputs to create an ADF application project.
BaseADFLibraryProjectprovides the script and base inputs to create an ADF library project.
BaseSOAProjectprovides the script and base inputs to create a SOA project.
BaseSOAProjectWithCITriggerprovides the script and base inputs to create a SOA project that also contains CI Trigger configuration.
BaseEBSFormsProjectprovides the script and base inputs to create an EBS Forms project
BaseMixedTechWithDefaultsProjectprovides the script and base inputs to create any project based on the ProjectType input. This script will provide the concept of allowing ADF, SOA and other technologies in the same upload file.
SimpleOSBProjectprovides the script and base inputs to create an OSB project.

Template Recommendations

  • Use the "Make Copy" button to copy a base read-only template to another template if you want to modify it. Then you have the base template to refer back to if there are problems.
  • Utilize the defaults screen, to setup defaults for your projects.
  • Project defaults and SCM Defaults will be preset in the Project object and that will allow you to change less information in template script. However, these defaults can be changed in the template script, if required.

Maintain Templates

Create Projects from Template

Additional Examples

Simple SOA Project

  • Create two template inputs of String type - ApplicationName, ProjectName. Use script code as shown below.
  • Most configurations are constant, i.e. workflow, instance, partition property etc.
  • Generated projects will have different
    • location in FlexDeploy project explorer
    • Sparse checkout folder script
// best practice is to have the projectName be the same as the composite name
CompositeName=ProjectName;
Project.setProjectName(ProjectName);
Project.setActive(true);
Project.setSCMType("GIT");
Project.setBuildWorkflowName("BuildSOA");
Project.setDeployWorkflowName("DeploySOA");
Project.setProjectPath("FlexDeploy/SOA/" + ApplicationName);
Project.setBuildInstanceName("SOA1");
Project.addDeployInstances("SOA1");

Project.addGITConfig(1,"GITREPO", "StreamName", "ProjectVersion", "ProjectName", "\"SOA/" + ApplicationName +   "/\" + ProjectName");
Project.getStreams().get(0).setStreamName("master");

Project.setDeployPriority(10);
Project.setDeployPriorityScope("Global");

Project.addProperty("FDSOA_COMPOSITE_NAME", CompositeName);
Project.addProperty("FDSOA_PARTITION", "default");

Project configured with this template would be like this for GetOrder as ProjectName and OrderServices as ApplicationName.

Sample EBS Project

  • Create template inputs of String type - ProjectName. Use script code as shown below.
    • ProjectName values will be like XXHR, XXAP etc.
  • Most configurations are constant, i.e. workflow, instance, partition property etc.
  • Generated projects will have different
    • same location in FlexDeploy project explorer
    • Sparse checkout folder script is defaulted to Project Name, so you must have folder like XXHR, XXAP in root of repository, otherwise script will need some tweaks.
    • Application Short Name will be set to project name.
// best practice is to have the projectName be the same as the custom top name
Project.setProjectName(ProjectName);
Project.setActive(true);
Project.setSCMType("GIT");
Project.setBuildWorkflowName("BuildEBS");
Project.setDeployWorkflowName("DeployEBS");
Project.setProjectPath("FlexDeploy/EBS");
Project.setBuildInstanceName("EBS");
Project.addDeployInstances("EBS");

Project.addGITConfig(1,"GITREPO", "StreamName", "ProjectVersion", "ProjectName", "ProjectName");
Project.getStreams().get(0).setStreamName("master");

Project.setDeployPriority(10);
Project.setDeployPriorityScope("Application");

Project.addProperty("FDEBS_APPLICATION_SHORT_NAME", ProjectName);
The following macros are not currently supported in the footer:
  • style