Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 35 Next »

Many project configuration options are available to the templates screen. This page seeks to list all of the available methods and enough information to use them in your templates. 

Script Variables

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

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.addProperty(String pPropertyName, Object pPropertyValue)Yes

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);
Project.setActive(boolean pActive)NoDefault would be true.

Workflow Methods

MethodRequiredDescription
Project.setBuildWorkflowName(String pBuildWorkflowName)YesSet Build Workflow name to be used by Project.
Project.setDeployWorkflowName(String pDeployWorkflowName)YesSet Deploy Workflow name to be used by Project.

Instance Methods

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.addDeployInstances(String pDeployInstances)Yes

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");

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 SVN, GIT, TFVC, CVS, PERF, CCUCM, PVCS.
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.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.

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) 
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","", "")

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
Project.addSVNConfig(int pSequenceNumber, String pInstanceCode)
Project.addSVNConfig(int pSequenceNumber, String pInstanceCode, String pTrunkPathScript, String pBranchPathScript, String pTagPathScript, String pCheckoutDirectory)

Project.addSVNConfig(int pSequenceNumber, String pInstanceCode)

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, TagPathScript and Checkout Directory will be populated from the Project SVN Setup Defaults.

For example, 

Project.addSVNConfig(1,"SVNPROD")

Project.addSVNConfig(int pSequenceNumber, String pInstanceCode, 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, TagPathScript 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, 

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

GIT
Project.addGITConfig(int pSequenceNumber, String pInstanceCode)
Project.addGITConfig(int pSequenceNumber, String pInstanceCode, String pBranchPathScript, String pTagPathScript, String pCheckoutDirectory, String pSparseCheckoutFoldersScript)
TFVC
Project.addTFVCConfig(int pSequenceNumber, String pInstanceCode)
Project.addTFVCConfig(int pSequenceNumber, String pInstanceCode, String pMainPathScript, String pBranchPathScript, String pLabelNameScript, String pCheckoutFolderScript)
PERF

Project.addPERFConfig(int pSequenceNumber, String pInstanceCode)
Project.addPERFConfig(int pSequenceNumber, String pInstanceCode, String pMainPathScript, String pBranchPathScript, String pLabelNameScript, String pCheckoutFolderScript)
CVS
Project.addCVSConfig(int pSequenceNumber, String pInstanceCode)
Project.addCVSConfig(int pSequenceNumber, String pInstanceCode, String pModuleNameScript, String pBranchNameScript, String pTagScript, String pCheckoutFolderScript)
CCUCM
Project.addCCUCMConfig(int pSequenceNumber, String pInstanceCode)
Project.addCCUCMConfig(int pSequenceNumber, String pInstanceCode, String pProjectVobScript, String pVobPathsScript, String pStreamScript, String pLabelNameScript, String pCheckoutFolderScript)
PVCS
Project.addPVCSConfig(int pSequenceNumber, String pInstanceCode)
Project.addPVCSConfig(int pSequenceNumber, String pInstanceCode, String pProjectPathScript, String pPromotionGroupScript, String pUsingPGScript, String pBranchPathScript, String pLabelNameScript, String pCheckoutFolderScript)

Continuous Integration Methods

//These methods add Continuous Integration into your project.
putYourVariableNameHere = Project.addPollSCMTrigger(int pIntervalMinutes, String pStreamName, String pEnvironmentName)
putYourVariableNameHere = Project.addScheduledBuildTrigger(String pCronExpression, String pStreamName, String pEnvironment)
putYourVariableNameHere = Project.addScheduledDeployTrigger(String pCronExpression, String pStreamName, String pEnvironment)
putYourVariableNameHere = Project.addPostBuildTrigger(String pStreamName, String pEnvironment)

// The following methods are available on the object returned from the methods above so inputs and Flexfields can be added to the trigger.
putYourVariableNameHere.addFlexField(String pFlexFieldName, String pValue)
putYourVariableNameHere.addInput(String pInputName, String pValue) 

//For example, to add a Poll SCM trigger with a FlexField and an input, you would write code like this. trigger1 is a variable, its name isn't important, but must match.
trigger1 = Project.addPollSCMTrigger(5, "trunk", "DEV01")
trigger1.addFlexField("Change_Number", "Built by CI Poll SCM")
trigger1.addInput("input", "Built by CI Poll SCM")
  • No labels