FlexFields

The FlexFields page allows configuring user-defined attributes for Deploy or Build Requests. When a Build or Deploy/Utility 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.

The Scope of a FlexField value is a Workflow Execution which may be build or deploy/utility. Note that build request FlexFields are associated with the Project Version created by build so those values are also available during deploy execution as well for that project version.

image-20240408-040609.png

Build Request FlexField

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 read during deployments of that project version.

image-20240408-040716.png

Deploy Request FlexField

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

Field

Required

Description

Active

Yes

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.

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.

Field Data type

Yes

The FlexField's data type. Default is Text Field.

Rows

No

Display attribute that defines the number of rows 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, Double and Long.

Max Value

No

User can control the maximum value for data types such as Integer, 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.

  • FLEXDEPLOY - Functions for performing actions in FlexDeploy.

  • EMAIL - Functions for formatting and sending emails.

  • REST - Object exposing REST functions. For more info see Using the REST object.

  • TOPOLOGY - Functions for getting information for Instance properties, Target Group details and Environment details.

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 package-based 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.

  • BranchName - Branch name associated with request. On Build form user selects Branch, on Deploy form Branch is derived based on selected Project version.

  • BranchAttribute1 - Branch Attribute 1

  • BranchAttribute2 - Branch Attribute 2

  • BranchAttribute3 - Branch 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: (use TOPOLOGY going forward)

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

    • TOPOLOGY variable is recommended.

  • Value – value entered by user for FlexField.

  • ValidationMessage – script can set specific error message in attribute, only used if script returns false.

  • workItemNumbers - work item numbers for build request.

  • FLEXDEPLOY - Functions for performing actions in FlexDeploy.

  • EMAIL - Functions for formatting and sending emails.

  • REST - Object exposing REST functions. For more info see Using the REST object.

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

Deploy Request Form

 

The following macros are not currently supported in the footer:
  • style