exportAPEXApplications
Export APEX applications from App Builder environment. One or more Application is exported based on provided inputs. You can use this operation to export applications from development environment and commit to SCM on periodic basis. See example workflow below on this page. Example workflow is exporting applications in apexexport folder and then Git repository is cloned in to apexgitrepo, eventually exported files are copied in to cloned repository and committed.
Target Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
Oracle SQLcl Home |
| Yes | Folder where SQLcl is installed. Make sure that the endpoint Java Home is a high enough version for your SQLcl version. |
APEX User |
| Yes | Provide database user APEX_xxxxx (APEX user requires INHERIT Privilege) or owner (parsing schema) of the application for export and import operations. You can use system user as well. |
APEX Password |
| Yes | Password for APEX User. |
Oracle Database URL |
| Yes | JDBC URL for Oracle database. For example:
|
Project Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
Export Supporting Object Definitions |
| No | Specify whether to export supporting object definitions with your application. |
Export Public Reports |
| No | Specify whether to include public reports with your application. |
Export Report Subscriptions |
| No | Specify whether to include interactive report or interactive grid subscription settings with your application. |
Export Developer Comments |
| No | Specify whether to include Developer Comments in your application export. |
Export Translations |
| No | Check to include Translations with your application export. |
Use Original Ids |
| No | Determines if the plugin will use original ids when exporting. @Since 8.0.0.9 |
Inputs
Input Name | Input Code | Required | Description |
---|---|---|---|
Workspace Name |
| No | APEX workspace name. If not provided, all applications matching name will be exported. |
Application Name |
| No | APEX application name. If application name, workspace name, and application id are not provided, then all applications will be exported. |
Application ID |
| No | APEX Application ID. This will take priority over workspace name and application name if it is provided. |
Export Folder |
| No | Absolute or relative to temp directory path for exported applications. |
Artifacts
This operation doesn’t consume or produce any artifacts.
Endpoint Selection
This operation will select all available endpoints associated to the Target. You can use any Endpoint where SQLcl is installed and has connectivity to database using JDBC URL. We recommend use of LOCALHOST endpoint if connectivity can be established between FlexDeploy and your APEX database.
Endpoint Execution
This operation will execute on any one of the selected endpoints and will be random in the determination of which one.
Example Workflow
Export and commit to Git
name: Export Apex Applications
description: ''
steps:
- id: '1'
name: exportAPEXApplications
type: INVOKE_PLUGIN
data:
pluginName: FlexagonOracleAPEXPlugin
pluginOperation: exportAPEXApplications
endpointInstanceOverride:
isExpression: false
consumesArtifacts: false
producesArtifacts: false
endpointSelection:
choice: All
endpointExecution:
choice: Any
stopOnError: false
inputs:
- name: FDAPEX_INP_WORKSPACE_NAME
value:
isExpression: false
isEncrypted: false
- name: FDAPEX_INP_APPLICATION_NAME
value:
isExpression: false
isEncrypted: false
- name: FDAPEX_INP_EXPORT_FOLDER
value:
value: apexexport
isExpression: false
isEncrypted: false
outputs: []
userInputs: []
userOutputs: []
- id: '2'
name: Git Clone
type: INVOKE_PLUGIN
data:
pluginName: FlexagonGITPlugin
pluginOperation: clone
endpointInstanceOverride:
isExpression: false
consumesArtifacts: false
producesArtifacts: false
endpointSelection:
choice: All
endpointExecution:
choice: Any
stopOnError: false
inputs:
- name: FDGIT_INP_INSTANCE_CODE
value:
value: GITDEMO
isExpression: false
isEncrypted: false
- name: FDGIT_INP_DEST_SUBFOLDER
value:
value: apexgitrepo
isExpression: false
isEncrypted: false
- name: FDGIT_INP_BRANCH
value:
value: master
isExpression: false
isEncrypted: false
- name: FDGIT_INP_DEPTH
value:
value: '1'
isExpression: false
isEncrypted: false
- name: FDGIT_INP_SPARSE_CHECKOUT_FOLDERS
value:
value: APEXV2
isExpression: false
isEncrypted: false
outputs: []
userInputs: []
userOutputs: []
- id: '3'
name: Copy exported files to local Git repo
type: INVOKE_PLUGIN
data:
pluginName: FlexagonFilePlugin
pluginOperation: copy
endpointInstanceOverride:
isExpression: false
consumesArtifacts: false
producesArtifacts: false
endpointSelection:
choice: All
endpointExecution:
choice: Any
stopOnError: false
inputs:
- name: FDFILE_INP_FILE_FILTER
value:
value: '*.sql'
isExpression: false
isEncrypted: false
- name: FDFILE_INP_FILE_FILTER_EXCLUDED
value:
isExpression: false
isEncrypted: false
- name: FDFILE_INP_SOURCE_PATH
value:
value: FD_TEMP_DIR + "/apexexport"
isExpression: true
isEncrypted: false
- name: FDFILE_INP_TARGET_PATH
value:
value: FD_TEMP_DIR + "/apexgitrepo/APEXV2"
isExpression: true
isEncrypted: false
- name: FDFILE_INP_CLEAN_DIRECTORY
value:
value: 'true'
isExpression: false
isEncrypted: false
outputs: []
userInputs: []
userOutputs: []
- id: '4'
name: Add any new Files
type: INVOKE_PLUGIN
data:
pluginName: FlexagonGITPlugin
pluginOperation: add
endpointInstanceOverride:
isExpression: false
consumesArtifacts: false
producesArtifacts: false
endpointSelection:
choice: All
endpointExecution:
choice: Any
stopOnError: false
inputs:
- name: FDGIT_INP_INSTANCE_CODE
value:
value: GITDEMO
isExpression: false
isEncrypted: false
- name: FDGIT_INP_DEST_SUBFOLDER
value:
value: apexgitrepo
isExpression: false
isEncrypted: false
- name: FDGIT_INP_FILELIST
value:
value: --all .
isExpression: false
isEncrypted: false
outputs: []
userInputs: []
userOutputs: []
- id: '5'
name: Commit to Git
type: INVOKE_PLUGIN
data:
pluginName: FlexagonGITPlugin
pluginOperation: commit
endpointInstanceOverride:
isExpression: false
consumesArtifacts: false
producesArtifacts: false
endpointSelection:
choice: All
endpointExecution:
choice: Any
stopOnError: false
inputs:
- name: FDGIT_INP_INSTANCE_CODE
value:
value: GITDEMO
isExpression: false
isEncrypted: false
- name: FDGIT_INP_DEST_SUBFOLDER
value:
value: apexgitrepo
isExpression: false
isEncrypted: false
- name: FDGIT_INP_NAME
value:
value: FD_WF_USER
isExpression: true
isEncrypted: false
- name: FDGIT_INP_EMAIL
value:
value: FD_WF_USER_EMAIL
isExpression: true
isEncrypted: false
- name: FDGIT_INP_REVISION_MESSAGE
value:
value: new apex files
isExpression: false
isEncrypted: false
outputs: []
userInputs: []
userOutputs: []
- id: '6'
name: Push to Central Repository
type: INVOKE_PLUGIN
data:
pluginName: FlexagonGITPlugin
pluginOperation: push
endpointInstanceOverride:
isExpression: false
consumesArtifacts: false
producesArtifacts: false
endpointSelection:
choice: All
endpointExecution:
choice: Any
stopOnError: false
inputs:
- name: FDGIT_INP_INSTANCE_CODE
value:
value: GITDEMO
isExpression: false
isEncrypted: false
- name: FDGIT_INP_DEST_SUBFOLDER
value:
value: apexgitrepo
isExpression: false
isEncrypted: false
- name: FDGIT_INP_BRANCH
value:
value: master
isExpression: false
isEncrypted: false
- name: FDGIT_INP_FOLLOW_TAGS
value:
value: 'false'
isExpression: false
isEncrypted: false
outputs: []
userInputs: []
userOutputs: []
- style