Templates

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 Name

Template Details

Template Name

Template Details

BaseADFApplicationProject

provides the script and base inputs to create an ADF application project.

SimpleADFApplicationProject

provides a simple script and base inputs to create an ADF application project.

BaseADFLibraryProject

provides the script and base inputs to create an ADF library project.

BaseSOAProject

provides the script and base inputs to create a SOA project.

BaseSOAProjectWithCITrigger

provides the script and base inputs to create a SOA project that also contains CI Trigger configuration.

BaseEBSFormsProject

provides the script and base inputs to create an EBS Forms project

BaseMixedTechWithDefaultsProject

provides 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.

SimpleOSBProject

provides 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