FlexFields

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.

Field

Required

Description

Active

Yes

Whether this FlexField is active or not. Defaults to No.

VisibleYesInvisible FlexFields that are active can be used to perform some validations prior to submit of build/deploy request.

Column Name

Yes

The name of the FlexField column. Read-only field.

Code

Yes

User-defined code that identifies this FlexField.

Display Name

Yes

Display name, which is used in Build or Deployment Request Form, reports etc.

Description

No

Description for the FlexField which will be displayed on the Build or Deployment Request Form.

Datatype

Yes

The FlexField's data type. Default is String.

Rows

No

Display attribute that defines the number of rows in the input field on the Build or Deployment Request Form.

Columns

No

Display attribute that defines the number of columns in the input field on the Build or Deployment Request Form.

List Data CSV

No

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.

Required

Yes

Whether the FlexField is required or not. Defaults to No.

Length

No

For String data type, this controls length of value being entered.

Min Value

No

User can control the minimum value for data types such as Integer, Float, Double and Long.

Max Value

No

User can control the maximum value for data types such as Integer, Float, Double and Long.

Default Value Groovy Script

No

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

No

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.

Updated By

N/A

The user who last updated the FlexField (read-only).

Updated On

N/A

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