Versions Compared

Key

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

...

Variable NameDescription
ProjectProject being created. This corresponds to one row in input CSV file and will eventually create one single Project.
<Custom Inputs>Inputs defined on Template.

General Project Methods

Source Control Configuration Methods

SCM Type

Use one of the two options shown below.

MethodRequiredDescriptionProject.setSCMType(pSCMType)NoSet SCM Type or use Project Defaults. Possible values are SVN, GIT, TFVC, CVS, PERF, CCUCM, PVCS.MethodaddProperty pPropertyName, Object pPropertyValue

This depends on type of Project being created. For example,

// using hard coded partition name as default. Project.addProperty("FDSOA_PARTITION", "default"); // Using Input PartitionName. Each project can specify different partition Project.addProperty("FDSOA_PARTITION", PartitionName); Project.addProperty("FDSOA_OVERWRITE_REVISION", false); Project.addProperty("FDSOA_MAKE_DEFAULT_REVISION", true);, boolean pExpression
MethodRequiredDescription
Project.setProjectPath(String pProjectPath)Yes

Set Project path. For example. FlexDeploy/SOA/HR. In this example, SOA folder will be created if it does not exist and HR application will be created if it does not exist.

You must make sure that you are defining last element in Project Path consistently as Application. For example, along with above example FlexDeploy/SOA/HR, if you used path as FlexDeploy/SOA/HR/Application, you will have issues.

Project.setProjectName(String pProjectName)YesSet Project Name.
Project.setDeployPriority(Integer pDeployPriority)YesSet Project Priority. If not supplied 1 is used.
Project.setDeployPriorityScope(String pDeployPriorityScope)YesDefaults to Application. Possible values are Application, Folder, Global.
Project.setDescription(String pDescription)Yes
Project.setProjectClassification(String pClassification)No
Code Block
languagegroovy
Classification for this project.  Possible values are Standard, PartialDeployments, Container, Utility.  Default is Standard.
Project.setProjectType(String)NoRequired if partial deployment project. Examples are GENERAL, EBS, PARTIAL_FILE, PARTIAL_JDBC, OracleForms, ORACLE_DB, ORACLE_BI, ORACLE_APEX, MFT, SALESFORCE, UTILITY, MDS, SAP, OSB, GENERIC
Project.addProperty(String pPropertyName, Object pPropertyValue)NoSame as above method, except you can specify whether Property Value is expression or not by using boolean parameter.
Project.setActive(boolean pActive)NoDefault would be true.

Workflow Methods

...

Instance Methods

Tip

All these methods take instance Codes, not Names as the methods suggest.

...

Set one or more Deploy Instance Code to be used for Project. Use comma (,) as separator for passing more than one Instance code. You can also call this method more than once with individual value of Instance code.

For example,

Project.addDeployInstances("SOA1,SOA2");

OR

Project.addDeployInstances("SOA1");

Project.addDeployInstances("SOA2");

This depends on type of Project being created. For example,

Code Block
languagegroovy
// using hard coded partition name as default.
Project.addProperty("FDSOA_PARTITION", "default");

// Using Input PartitionName. Each project can specify different partition
Project.addProperty("FDSOA_PARTITION", PartitionName);

Project.addProperty("FDSOA_OVERWRITE_REVISION", false);

Project.addProperty("FDSOA_MAKE_DEFAULT_REVISION", true);


Project.addProperty(String pPropertyName, Object pPropertyValue, boolean pExpression)NoSame as above method, except you can specify whether Property Value is expression or not by using boolean parameter.
Project.setActive(boolean pActive)NoDefault would be true.
Project.setWebhooksEnabled(boolean pWebhookEnabled)NoEnables or disables webhook enabled flag for project. This was added in 5.3.0.2
Project.setProjectBuildSequence(Long pSequenceNumber)No@since 5.4.0.2 Set the initial value for the ProjectBuildSequence variable which can be used in stream syntax scripts. Defaults to 1 if not set.
Change default stream name.No
This must be done prior to adding any Stream.
Project.getStreams().get(0).setStreamName("master");

Workflow Methods

MethodRequiredDescription
Project.
setSVNForSCM
setBuildWorkflowName(String pBuildWorkflowName)
NoCall to use Subversion for
YesSet Build Workflow name to be used by Project.
Project.
setGITForSCM
setDeployWorkflowName(String pDeployWorkflowName)
NoCall to use Git for Project.Project.setTFVCForSCM()NoCall to use Microsoft TFVC for Project.Project.setCVSForSCM()NoCall to use CVS
YesSet Deploy Workflow name to be used by Project.

Instance Methods

Tip

All these methods take instance Codes, not Names as the methods suggest.


MethodRequiredDescription
Project.setBuildInstanceName(String pBuildInstanceName)YesSet Build Instance Code to be used for Project.
Project.
setPERFForSCM
addDeployInstances(String pDeployInstances)
NoCall to use Perforce
Yes

Set one or more Deploy Instance Code to be used for Project.

Project.setCCUCMForSCM()NoCall to use ClearCase UCM for Project.Project.setPVCSForSCM()NoCall to use PVCS for Project.

Stream Settings

Add additional project streams if necessary. These streams are what the int pSequenceNumber in the SCM details section below refer to.

Code Block
languagegroovy
Project.createStreamFromMainStream(String pStreamName)

Project.createStream(String pStreamName, String pVersionSyntaxScript)
Project.createStream(String pStreamName, String pVersionSyntaxScript, String pDescription)
Project.createStream(String pStreamName, String pVersionSyntaxScript, String pDescription, String pAttribute1, String pAttribute2, String pAttribute3) 

...

Create a copy of the main stream with a new name.  The main stream is generated from default configurations.

For example,

Project.createStreamFromMainStream("branch1")

...

Create an additional stream based on the inputs.  Description, Attribute1, Attribute2 and Attribute3 will be defaulted to blank entries.

For example,

Project.createStream("branch1", "\"1.0")

...

Create an additional stream based on the inputs.  Attribute1, Attribute2 and Attribute3 will be default to blank entries.

For example, 

Project.createStream("branch1", "\"1.0", "March release")

...

Create an additional stream based on the inputs.  The attribute values can be further utilized in different path scripts during SCM configurations below.

For example,

Project.createStream("branch1", "\"1.0", "March release","attr1","", "")

SCM Details

Next, configure the SCM details for your selected SCM Type. Choose one of the methods that contains the options that you need to configure for your projects from the list.

If SCM Defaults are setup under Administration → Defaults, these may be unnecessary.

SCM TypeSupported MethodsSVN
Code Block
Project.addSVNConfig(int pSequenceNumber, String pInstanceName)
Project.addSVNConfig(int pSequenceNumber, String pInstanceName, String pTrunkPathScript, String pBranchPathScript, String pTagPathScript, String pCheckoutDirectory)

Project.addSVNConfig(int pSequenceNumber, String pInstanceName)

Project.addSVNConfig(1,"SVNPROD")

Project.addSVNConfig(1,"SVNPROD","\"/trunk/\" + ProjectName","\"/branches/\" + StreamName + \"/\" + ProjectName","","")

Create a SVN configuration for the project based on a pre-configured SCM instance code for SVN.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values for Trunk Path Script, Branch Path Script, Tag Path Script and Checkout Directory will be populated from the Project SVN Setup Defaults.

For example, 

Project.addSVNConfig(int pSequenceNumber, String pInstanceName, String pTrunkPathScript, String pBranchPathScript, String pTagPathScript, String pCheckoutDirectory)

Create a SVN configuration for the project based on a pre-configured SCM instance code for SVN.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values for Trunk Path Script, Branch Path Script, Tag Path Script and Checkout Directory provided on the method will overwrite the values from the Project SVN Setup Defaults.  Passing in an empty string will not override the given default value.  ProjectName and StreamName are available variables within project configuration that can be used to make generic formulas.

For example, 

GIT
Code Block
Project.addGITConfig(int pSequenceNumber, String pInstanceName)
Project.addGITConfig(int pSequenceNumber, String pInstanceName, String pBranchPathScript, String pTagPathScript, String pCheckoutDirectory, String pSparseCheckoutFoldersScript)

Project.addGITConfig(int pSequenceNumber, String pInstanceName)

Create a GIT

Use comma (,) as separator for passing more than one Instance code. You can also call this method more than once with individual value of Instance code.

For example,

Project.addDeployInstances("SOA1,SOA2");

OR

Project.addDeployInstances("SOA1");

Project.addDeployInstances("SOA2");

Source Control Configuration Methods

SCM Type

Use one of the two options shown below.

MethodRequiredDescription
Project.setSCMType(pSCMType)NoSet SCM Type or use Project Defaults. Possible values are CVS, FILE, GIT, NONE, PERF, PVCS, SVN, TFVC, OIC.


MethodRequiredDescription
Project.setSVNForSCM()NoCall to use Subversion for Project.
Project.setGITForSCM()NoCall to use Git for Project.
Project.setTFVCForSCM()NoCall to use Microsoft TFVC for Project.
Project.setCVSForSCM()NoCall to use CVS for Project.
Project.setPERFForSCM()NoCall to use Perforce for Project.
Project.setPVCSForSCM()NoCall to use PVCS for Project.
Project.setFILEForSCM()NoCall to use File System SCM type for project.

Stream Settings

Add additional project streams if necessary. These streams are what the int pSequenceNumber in the SCM details section below refer to.

Code Block
languagegroovy
Project.createStreamFromMainStream(String pStreamName)

Project.createStream(String pStreamName, String pVersionSyntaxScript)
Project.createStream(String pStreamName, String pVersionSyntaxScript, String pDescription)
Project.createStream(String pStreamName, String pVersionSyntaxScript, String pDescription, String pAttribute1, String pAttribute2, String pAttribute3) 
Project.createStream(String pStreamName, String pVersionSyntaxScript, String pDescription, String pAttribute1, String pAttribute2, String pAttribute3, Long pSequenceNumber) 


MethodRequiredDescription
Project.createStreamFromMainStream(String pStreamName)No

Create a copy of the main stream with a new name.  The main stream is generated from default configurations.

For example,

Project.createStreamFromMainStream("branch1")

Project.createStream(String pStreamName, String pVersionSyntaxScript)No

Create an additional stream based on the inputs.  Description, Attribute1, Attribute2 and Attribute3 will be defaulted to blank entries.

For example,

Project.createStream("branch1", "\"1.0")

Project.createStream(String pStreamName, String pVersionSyntaxScript, String pDescription)No

Create an additional stream based on the inputs.  Attribute1, Attribute2 and Attribute3 will be default to blank entries.

For example, 

Project.createStream("branch1", "\"1.0", "March release")

Project.createStream(String pStreamName, String pVersionSyntaxScript, String pDescription, String pAttribute1, String pAttribute2, String pAttribute3)No

Create an additional stream based on the inputs.  The attribute values can be further utilized in different path scripts during SCM configurations below.

For example,

Project.createStream("branch1", "\"1.0", "March release","attr1","", "")

@since 5.4.0.2 Project.createStream(String pStreamName, String pVersionSyntaxScript, String pDescription, String pAttribute1, String pAttribute2, String pAttribute3, Long pSequenceNumber)No

Create an additional stream based on the inputs.  The attribute values can be further utilized in different path scripts during SCM configurations below.

For example,

Project.createStream("branch1", "\"1.0", "March release","attr1","", "", 10)

SCM Details

Next, configure the SCM details for your selected SCM Type. Choose one of the methods that contains the options that you need to configure for your projects from the list.

If SCM Defaults are setup under Administration → Defaults, these may be unnecessary.

SCM TypeSupported Methods
SVN


Code Block
Project.addSVNConfig(int pSequenceNumber, String pInstanceName)
Project.addSVNConfig(int pSequenceNumber, String pInstanceName, String pTrunkPathScript, String pBranchPathScript, String pTagPathScript, String pCheckoutDirectory)

Project.addSVNConfig(int pSequenceNumber, String pInstanceName)

Project.addSVNConfig(1,"SVNPROD")

Project.addSVNConfig(1,"SVNPROD","\"/trunk/\" + ProjectName","\"/branches/\" + StreamName + \"/\" + ProjectName","","")

Create a SVN configuration for the project based on a pre-configured SCM instance code for

GIT

SVN.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values for Trunk Path Script, Branch Path Script, Tag Path Script

,

and Checkout Directory

and Sparse Checkout Folders Script

will be populated from the Project

GIT

SVN Setup Defaults.

For example, 


Project.

addGITConfig(1,"GITPROD")Project.addGITConfig(

addSVNConfig(int pSequenceNumber, String

pInstanceName

pInstanceName, String pTrunkPathScript, String pBranchPathScript, String pTagPathScript, String pCheckoutDirectory

, String pSparseCheckoutFoldersScript

)

Create a

GIT

SVN configuration for the project based on a pre-configured SCM instance code for

GIT

SVN.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values

for Branch

for Trunk Path Script, Branch Path Script, Tag Path Script

,

and Checkout Directory

and Sparse Checkout Folders Script

provided on the method will overwrite the values from the Project

GIT

SVN Setup Defaults.  Passing in an empty string will not override the given default value.  ProjectName and StreamName are available variables within project configuration that can be used to make generic formulas.

For example, 

Project.addGITConfig(1,"GITPROD","StreamName","ProjectVersion","ProjectName","")

TFVC
GIT


Code Block
Project.
addTFVCConfig
addGITConfig(int pSequenceNumber, String pInstanceName)
Project.
addTFVCConfig
addGITConfig(int pSequenceNumber, String pInstanceName, String 
pMainPathScript
pBranchPathScript, String 
pBranchPathScript
pTagPathScript, String 
pLabelNameScript
pCheckoutDirectory, String 
pCheckoutFolderScript
pSparseCheckoutFoldersScript)


Project.

addTFVCConfig

addGITConfig(int pSequenceNumber, String pInstanceName)

Create a

TFVC

GIT configuration for the project based on a pre-configured SCM instance code for

TFVC

GIT.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values for

Main

Branch Path Script,

Branch

Tag Path Script,

Label Name Script

Checkout Directory and Sparse Checkout

Folder

Folders Script will be populated from the

 
TFVC

GIT Setup Defaults.

For example, 

Project.

addTFVCConfig

addGITConfig(1,"

TFVCPROD

GITPROD")


Project.

addTFVCConfig

addGITConfig(int pSequenceNumber, String pInstanceName, String

pMainPathScript

pBranchPathScript, String

pBranchPathScript

pTagPathScript, String

pLabelNameScript

pCheckoutDirectory, String

pCheckoutFolderScript

pSparseCheckoutFoldersScript)

Create a

TFVC

GIT configuration for the project based on a pre-configured SCM instance code for

TFVC

GIT.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values

for Main

for Branch Path Script,

Branch

Tag Path Script,

Label Name Script

Checkout Directory and Sparse Checkout

Folder

Folders Script provided on the method will overwrite the values from the

 
TFVC

GIT Setup Defaults.  Passing in an empty string will not override the given default value.  ProjectName and StreamName are available variables within project configuration that can be used to make generic formulas.

For example, 

Project.

addTFVCConfig

addGITConfig(1

,"TFVCPROD"

,"

\"\\\$/\" + ProjectName + \"/main\"","\"\\\$/\" + ProjectName + \"/\" + StreamAttribute1

GITPROD","StreamName","ProjectVersion","ProjectName

+ ProjectVersion

","")

PERF
TFVC


Code Block
Project.
addPERFConfig
addTFVCConfig(int pSequenceNumber, String pInstanceName)
Project.
addPERFConfig
addTFVCConfig(int pSequenceNumber, String pInstanceName, String pMainPathScript, String pBranchPathScript, String pLabelNameScript, String pCheckoutFolderScript)


Project.

addPERFConfig

addTFVCConfig(int pSequenceNumber, String pInstanceName)

Create

a PERF

a TFVC configuration for the project based on a pre-configured SCM instance code for

PERF

TFVC.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values for Main Path Script, Branch Path Script, Label Name Script and Checkout Folder Script will be populated from the Project

PERF

TFVC Setup Defaults.

For example, 

Project.

addPERFConfig

addTFVCConfig(1,"

PERFPROD

TFVCPROD")


Project.

addPERFConfig

addTFVCConfig(int pSequenceNumber, String pInstanceName, String pMainPathScript, String pBranchPathScript, String pLabelNameScript, String pCheckoutFolderScript)

Create a

PERF

TFVC configuration for the project based on a pre-configured SCM instance code for

PERF

TFVC.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values for Main Path Script, Branch Path Script, Label Name Script and Checkout Folder Script provided on the method will overwrite the values from the Project

PERF

TFVC Setup Defaults.  Passing in an empty string will not override the given default value.  ProjectName and StreamName are available variables within project configuration that can be used to make generic formulas.

For example, 

Project.

addPERFConfig

addTFVCConfig(1,"

PERFPROD

TFVCPROD","\"

//StreamsDepot/

\\\$/\" + ProjectName + \"/main\"","\"

//StreamsDepot

\\\$/\" + ProjectName + \"

,

/\"

ProjectName

+

\

StreamAttribute1"

-\

,"ProjectName + ProjectVersion","")

CVS
PERF

Code Block
Project.
addCVSConfig
addPERFConfig(int pSequenceNumber, String pInstanceName)
Project.
addCVSConfig
addPERFConfig(int pSequenceNumber, String pInstanceName, String 
pModuleNameScript
pMainPathScript, String 
pBranchNameScript
pBranchPathScript, String 
pTagScript
pLabelNameScript, String pCheckoutFolderScript)


Project.

addCVSConfig

addPERFConfig(int pSequenceNumber, String pInstanceName)

Create

a CVS 

a PERF configuration for the project based on a pre-configured SCM instance code for

CVS

PERF.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values for

Module Name

Main Path Script, Branch

Name

Path Script,

Tag

Label Name Script and Checkout Folder Script will be populated from the Project

CVS

PERF Setup Defaults.

For example, 

Project.

addCVSConfig

addPERFConfig(1,"

CVSPROD

PERFPROD")


Project.

addCVSConfig

addPERFConfig(int pSequenceNumber, String pInstanceName, String

pModuleNameScript

pMainPathScript, String

pBranchNameScript

pBranchPathScript, String

pTagScript

pLabelNameScript, String pCheckoutFolderScript)

Create a

CVS

PERF configuration for the project based on a pre-configured SCM instance code for

CVS

PERF.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values

for Module Name

for Main Path Script, Branch

Name

Path Script,

Tag

Label Name Script and Checkout Folder Script provided on the method will overwrite the values from the Project

CVS

PERF Setup Defaults.  Passing in an empty string will not override the given default value.  ProjectName and StreamName are available variables within project configuration that can be used to make generic formulas.

For example, 

Project.

addCVSConfig

addPERFConfig(1,"

CVSPROD

PERFPROD","

ProjectName","StreamName","\"R\" + ProjectVersion.replace(\".\",\"_\")

\"//StreamsDepot/\" + ProjectName","\"//StreamsDepot/\" + ProjectName","ProjectName + \"-\" + ProjectVersion","")

CCUCM
CVS


Code Block
Project.
addCCUCMConfig
addCVSConfig(int pSequenceNumber, String pInstanceName)
Project.
addCCUCMConfig
addCVSConfig(int pSequenceNumber, String pInstanceName, String 
pProjectVobScript
pModuleNameScript, String 
pVobPathsScript
pBranchNameScript, String 
pStreamScript, String pLabelNameScript
pTagScript, String pCheckoutFolderScript)


Project.

addCCUCMConfig

addCVSConfig(int pSequenceNumber, String pInstanceName)

Create

a CCUCM 

a CVS  configuration for the project based on a pre-configured SCM instance code for

CCUCM

CVS.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values for

Project VOB

Module Name Script,

VOB Path

Branch Name Script,

Stream Script, Label Name

Tag Script

,

and Checkout Folder Script will be populated from the Project

CCUCM

CVS Setup Defaults.

For example, 

Project.

addCCUCMConfig

addCVSConfig(1,"

CCUCMPROD

CVSPROD")


Project.

addCCUCMConfig

addCVSConfig(int pSequenceNumber, String pInstanceName, String

pProjectVobScript

pModuleNameScript, String

pVobPathsScript

pBranchNameScript, String

pStreamScript, String pLabelNameScript

pTagScript, String pCheckoutFolderScript)

Create a

CCUCM

CVS configuration for the project based on a pre-configured SCM instance code for

CCUCM

CVS.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values

for Project VOB

for Module Name Script,

VOB Path

Branch Name Script,

Stream

Tag Script

, Label Name Script,

and Checkout Folder Script provided on the method will overwrite the values from the Project

CCUCM

CVS Setup Defaults.  Passing in an empty string will not override the given default value.  ProjectName and StreamName are available variables within project configuration that can be used to make generic formulas.

For example, 

Project.

addCCUCMConfig

addCVSConfig(1,"

CCUCMPROD

CVSPROD","

\

ProjectName"

\

,"StreamName","\"R\"

","StreamName","

+ ProjectVersion.replace(\"

FD_

.\"

+ ProjectName +

,\"_\"

+StreamName

)","")

PVCS


Code Block
Project.addPVCSConfig(int pSequenceNumber, String pInstanceName)
Project.addPVCSConfig(int pSequenceNumber, String pInstanceName, String pProjectPathScript, String pPromotionGroupScript, String pUsingPGScript, String pBranchPathScript, String pLabelNameScript, String pCheckoutFolderScript)


Project.addPVCSConfig(int pSequenceNumber, String pInstanceName)

Create a PVCS  configuration for the project based on a pre-configured SCM instance code for PVCS.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values for Project Path Script, Promotion Group Script UsingPGScript, Branch Path Script, Label Name Script, and Checkout Folder Script will be populated from the Project PVCS Setup Defaults.

For example, 

Project.addPVCSConfig(1,"PVCSPROD")


Project.addPVCSConfig(int pSequenceNumber, String pInstanceName, , String pProjectPathScript, String pPromotionGroupScript, String pUsingPGScript, String pBranchPathScript, String pLabelNameScript, String pCheckoutFolderScript)

Create a PVCS configuration for the project based on a pre-configured SCM instance code for PVCS.  The sequence number allows you to create multiple configurations per project (sequencing starts at 1).  The values for Project Path Script, Promotion Group Script UsingPGScript, Branch Path Script, Label Name Script, and Checkout Folder Script provided on the method will overwrite the values from the Project PVCS Setup Defaults.  Passing in an empty string will not override the given default value.  ProjectName and StreamName are available variables within project configuration that can be used to make generic formulas.

For example, 

Project.addPVCSConfig(1,"PVCSPROD","\"/\"+ProjectName","StreamAttribute1","\"\"","\"true\"","ProjectName + ProjectVersion","")

Continuous Integration Methods

...