The FlexFields page provides ability to configure user defined attributes for Deploy or Build Requests. When a Build or Deploy Request is submitted by a user, they will be prompted to enter values for the configured (active and visible) FlexFields. There are 10 FlexFields, for each type of request. An example usage for a FlexField would be allowing the user to specify the change request number associated with the Deploy Request. These FlexFields can be viewed in the reports and tasks screen and could provide additional information about a specific Build or Deploy Request.
Scope of FlexField value is through Workflow Execution which may be build/deploy/utility. Note that build request FlexFields are associated with Project Version created by build, hence those values are available during deploy execution as well for project version.
Build Request FlexFields
Build Request FlexFields are available through the lifecycle of your release. The value is set during the Build Request, and then is available to be used on subsequent deployments of that project version.
Deploy Request FlexFields
Deploy Request FlexFields are limited to only being used with the specific deployment being executed.
Enter values for the FlexFields as described in the table below.
Whether this FlexField is active or not. Defaults to No.
|Visible||Yes||Invisible FlexFields that are active can be used to perform some validations prior to submit of build/deploy request.|
The name of the FlexField column. Read-only field.
User-defined code that identifies this FlexField.
Display name, which is used in Build or Deployment Request Form, reports etc.
Description for the FlexField which will be displayed on the Build or Deployment Request Form.
The FlexField's data type. Default is String.
Display attribute that defines the number of rows in the input field on the Build or Deployment Request Form.
Display attribute that defines the number of columns in the input field on the Build or Deployment Request Form.
List Data CSV
Allows the user to define a comma-separated list of values that will be displayed in the Workflow Request page. If given, a Dropdown component will be displayed on the Build or Deployment Request Form.
Whether the FlexField is required or not. Defaults to No.
For String data type, this controls length of value being entered.
User can control the minimum value for data types such as Integer, Float, Double and Long.
User can control the maximum value for data types such as Integer, Float, Double and Long.
Default Value Groovy Script
Enter Groovy script to define default values for the FlexField. This script should return the value that the FlexField will be defaulted to.
Groovy script can use these variables:
- ProjectName - name of the project being built or deployed.
- PackageName - Package Name for build request this would be the value entered by user on Build Request form.
Validation Groovy Script
Enter Groovy script to define validation for the FlexField. The script should return true or false to indicate validation success or failure. See an example.
Groovy script can use these variables:
- EnvironmentCode – environment for deploy or build request.
- InstanceCodes - Instance for deploy or build request. Comma separated String value.
- ProjectName – name of the project being built or deployed.
- ApplicationName – name of the application that the project(s) being built or deployed are under.
- FolderPath – fully qualified name to the project or application.
- PartialDeploymentsFlag – flag indicating if a project uses partial deployment.
- ProjectType – type of project, set up on creation, being built or deploy (EBS, Oracle MFT, Oracle BI, Oracle DB, Oracle Forms, or Salesforce).
- WorkflowName – name of the workflow being used to perform the build or deployment.
- PackageName - Package Name for build request. This would be value entered by user on Build Request form.
- StartTime - Start Time indicated by user on Deploy Request form.
- StreamName - Stream name associated with request. On Build form user selects Stream, on Deploy form Stream is derived based on selected Project version.
- StreamAttribute1 - Stream Attribute 1
- StreamAttribute2 - Stream Attribute 2
- StreamAttribute3 - Stream Attribute 3
- BuildEnvironmentCode - Useful for Deploy request, this indicates which Environment was used for Build.
- BuildInstanceCode - Useful for Deploy request, this indicates which Instance was used for Build.
- UserName - Logged in user name
- UserRoles - List object containing logged in user's FlexDeploy Groups.
- Force - True if user selects Force.
- ExceptionToWindow - True if user selects Exception to Window, only applicable to Deploy
- TriggerType - Useful to determine if CI is triggering this request.
- Possible values are POLL_SCM, MANUAL, REVERT, RELEASE, SCHEDULE, POST_BUILD, POST_REFRESH, WEBHOOK
- topology - Has the following functions available for dealing with topology:
- getInstanceProperties(String pInstanceCode) - returns a Map<String,Object> of instance properties for the given instance.
- isMappedToCurrentEnvironment(String pInstanceCode) - returns a boolean if the given instance is mapped to this environment.
- getMappedInstances() - returns a List<String> of every mapped instance.
- Value – value entered by user for FlexField.
- ValidationMessage – script can set specific error message in attribute, only used if script returns false.
The user who last updated the FlexField (read-only).
The date/time in which the FlexField was last updated (read-only).
Click the Save button to save the changes.
You can use custom Java API as well from Groovy script. You can put Jar file containing your API in WebLogic domain's lib folder. This example shows such the use of custom a Java API. This can be useful to interface with an external system using SOAP, REST or other proprietary API.
The active FlexFields will be available for users when submitting the Build or Deployment Request (see below). If the FlexField is configured as required, then the user must enter value. Other validations like Data Type, String length, Range check for numbers etc. are also performed as defined for a specific FlexField. Custom Groovy validations that are defined by the user in the administration page will be executed as well against the user input. FlexField values will be available in the Reports and Tasks to provide additional information regarding the Build or Deployment Request.
Build Request Form
Deployment Request Form