Developer Toolkit Set Up
Administration
Certified and Supported Environments
-
Certified Versions - The following application versions are certified for the CPQ Developer Toolkit.
Environment
Operation System
File System
JDK
Client/Terminal
Windows
10.0.18363 N/A Build 18363
NTFS
LTS Java 11.x
Windows PowerShell
Windows Command prompt
Linux
Oracle Linux Server 7.4
ext4
LTS Java 11.x
Linux Terminal
Mac
macOS Mojave 10.14.6
APFS(Encrypted)
java 11.0.4
Mac Terminal Version 2.9.5 (421.2)
- System Requirement - JDK 11 or higher must be installed to use this tool.
-
Supported - Oracle CPQ supports the following clients for the Developer Toolkit.
- MacOS 10.14.* with Z Shell and Mac Terminal
- Windows 10.0*
- Oracle Linux Server 7.4*
-
Code Editor and Version Control System
Developers can use any IDE or code editor to work on their BML code.
-
Version Control System
Developers can use any version control system of their choice. We recommend that you commit to source control from the beginning to help avoid conflicts and to drive your development process efficiently.
Download and Install Developer Toolkit
Complete the following steps to download and install the CPQ Toolkit CLI.
-
Download the Developer Toolkit CLI:
-
For Windows: Download CPQToolkit‑windows.zip
-
For Linux and macOS: Download CPQToolkit‑unix.tar.gz
- Extract the zip or tar files to your local working directory (e.g. C:\Users\jsmith\cpq-dev)
- Add the CPQToolkit "bin" directory to your PATH variable.
-
Run the following command to verify the CLI installation:
cpq-toolkit --help
Initialize and Register the Developer Toolkit CLI
This section explains how to configure the Developer Toolkit Command Line Interface (CLI) to interact with your CPQ environment and other relevant settings available.
Note: If you are using a proxy, refer to Use the Developer Toolkit Behind a Company Firewall or Web Proxy to set your proxy server parameters.
For enabling secure authentication and authorization, the CPQ Developer Toolkit allows developers to dynamically register the CLI client with a CPQ Authentication Server. The Auth server will generate client ID/secret and will provide other metadata to be used to complete the authorization access token exchange in 3-legged OAuth Flow.
The init command initializes the OAuth properties configuration file under \CPQToolkit-x.x.x-SNAPSHOT\bin\conf\ for 3-legged OAuth flow. Once the client is registered, the developer can authorize cpq-toolkit actions using their CPQ user credentials with 3-legged OAuth Flow. For initial authentication, users will be prompted for their credentials to log in to CPQ Site. With a successful login, the CPQ server will generate an access token that will be used to authorize any further CLI actions.
Perform the following steps to initialize and register your developer toolkit CLI client:
-
Open your Terminal or Command Prompt.
-
Use the init command to dynamically register your CLI client:
cpq-toolkit init --register --host=<sitename>.com -f
You can also provide the following command-line options with the init command.
Command Options Description -p, --port
This option is used to change or override the port.
-h, --host
This option is used to change or override the host name.
Note: The value should not include protocol.(e.g.
--host=abcd.com
)-f,--force-update
This option is used to override an existing OAuth configuration.
-r, --register
This option is used to create a new client on the site specified by
--host
or-h
option.Note: This option cannot be combined with
--update
.-u, --update
This option is used to update an existing client on the authentication server. The OAuth configurations stored locally will be overridden.
Note: This option cannot be combined with
--register
.-n, --name
This option is used to change your client name.
-s, --scope
This option is used to set additional scope options.
Acceptable values:
adminMeta.read
andadminMeta.write
-
To print command option for CPQ init tool use --help option as shown below
cpq-toolkit init --help
-
To initialize OAuth config settings by passing values on CLI use the following command. The user will be prompted for all the details.
cpq-toolkit init
-
To force update port and host config property values use the following command.
cpq-toolkit init [--port=<port>] [--host=<hostName>] [-f]
-
To initialize OAuth config settings by passing the property values in a file, use the following command.
cpq-toolkit init <configFilePath>
-
<configFilePath>
: The path of file containing the OAuth configuration properties. -
The configuration file should be a text file with following format
client.id=<your_client_id> client.secret=<your_client_secret> endpoint.redirection.port=<port> host.name=<your_host_name> scope=<scopes separated by spaces>
Notes
- The host name value should not include protocol.(e.g.
--host=abcd.com
) - Each property should be on a new line.
OAuth Configuration Properties
The OAuth configuration file has the following properties:
Property Name
CLI Required?
Default Value
registration.client.uri
No
-
endpoint.redirection.listen.timeout
No
60000
software_version
No
21.1.0
registration.access.token
No
-
scope
Scopes allow API endpoints to be restricted to clients. Only two scopes are allowed:
adminMeta.read
andadminMeta.write
Refer to the init Command --scopes option to update or override this option.
adminMeta.read adminMeta.write
remote.protocol
The client-server protocol for connecting to the remote host. The default is HTTPS.
Refer to the init Command --remote-protocol option to update or override this option.
HTTPS
endpoint.redirection.port
No
Refer to the init Command -p option to update or override this option.
8099
grant.type
No
AUTHORIZATION_CODE
host.name
Yes
Required
client.secret
No
-
client.id
No
-
- The host name value should not include protocol.(e.g.
-
Use the Developer Toolkit Behind a Company Firewall or Web Proxy
Perform the following steps to set your web proxy, if you receive errors when you install the Developer Toolkit on a system behind a company firewall or web proxy.
-
Navigate to: <your local working directory>/CPQToolkit-x.x.x-SNAPSHOT/bin.
-
<your local working directory> is the directory where you installed the Developer Toolkit (e.g.
C:/Users/jsmith/cpq-dev
). -
x.x.x represents the current CPQ Toolkit version.
-
-
Open the cpq-toolkit.bat file.
-
Replace "yourproxy.company.com" with the URL and port of your company proxy.
For example, replace the following statement:
JAVA_ARGS="-Xms8m -Xmx64m -Dcpqtoolkit.home=$CPQTOOLKIT_HOME"
with the following statement:
JAVA_ARGS=-Xms8m -Xmx64m -Dhttp.proxyHost=yourproxy.company.com Dhttp.proxyPort=80
Dhttps.proxyHost=yourproxy.company.com -Dhttps.proxyPort=80
"-Dcpqtoolkit.home=%CPQTOOLKIT_HOME%"
Set Up Workspace and Source Directories
The CPQ Developer Toolkit environment contains workspace and source directories.
-
The Workspace Directory is a folder where Developer Toolkit stores history, logs, and workspace settings.
-
The Source Directory is a folder where your CPQ Util and Commerce BML Libraries reside. This folder on the local file system contains a child folder with the special name ".cpqtoolkit".
Note: These directories can be set up at the time of your first pull from the CPQ server. The CLI tool will create target directories if they don't exist.
This includes the source and workspace directories in all supported operating systems.
Perform the following steps to set up these directories:
-
Open your Terminal or Command Prompt.
-
Enter the following command:
cpq-toolkit pull <target_dir>
-
<target_dir>
: The directory into which the downloaded metadata will be copied. -
The CLI will mark this folder as a source directory by creating a special folder with ".cpqtoolkit" name.
-
After the successful completion of the pull command, you will be able to see downloaded Commerce and BML Libraries in your source directory.
Example Command
-
-
When prompted, enter your workspace directory.
- The workspace directory should not overlap with your source directory.
- If needed, this directory can be modified from the "/CPQToolkit-x.x.x-SNAPSHOT/conf/bootstrap.properties" file.
Example Command
-
The Developer Toolkit CLI will launch a browser window to authenticate your identity. Enter your credentials and navigate back to the CLI client. The set up is complete. To understand the folder structure for your workspace and source directory, refer to Developer Toolkit Directory Structure.
Developer Toolkit Directory Structure
Workspace directory consists of three folders history, logs, and settings as shown below.
-
History Folder: Developer Toolkit writes history logs of each CLI command to this folder. You will need to refer to this folder for the output of any CLI command execution. Refer to History Logs for more information.
-
Logs Folder: This folder contains the cpq-toolkit.log file. The purpose of this file is to capture any code defects or errors of the CLI itself.
-
Settings Folder: This folder contains the workspace.properties file. This file stores the remote settings for the CLI. Refer to History Logs for more information.
Workspace Properties
To override the following workspace.properties settings pass the associated CLI option.
Workspace Properties Setting |
CLI Option |
---|---|
remote.host |
The hostname of the default CPQ server. This can be overridden by the |
remote.protocol |
The protocol for connecting to the remote host. The default is HTTPS. |
remote.user.name |
The username of your CPQ user. Only used when |
remote.timeout.connect |
The network connection timeout, in milliseconds. |
remote.timeout.read |
The network read timeout, in milliseconds. |
The Source Directory is a folder where your CPQ Util and Commerce BML Libraries reside. The directory structure is similar lto how the relevant CPQ objects are displayed in the CPQ Site UI. This directory has the following main folders:
-
.cpqtoolkit Folder: This folder is automatically created during your first pull. The DevToolkit CLI uses this folder to determine the source directory location.This folder is visible in Windows systems and is hidden in Mac systems.
-
commerceAndDocuments Folder: This folder contains your Commerce BML Libraries. The folder structure follows the same hierarchy defined in the CPQ Site UI. Each commerce process has an associated folder for its Commerce BML Libraries.
-
developerTools Folder: This folder contains your Util Libraries. All of the associated Util BML Libraries are contained in the bmlLibrary folder.
History logs for each command execution are saved under the "history" folder in your workspace directory (e.g. /users/jsmith/cpq-toolkit-settings/history/
). The CLI will create a new log folder and inform the user of a folder location as shown below:
The log folder will be named using the following syntax: YYYY-MM-dd-HH-mm-ss-SSS_commandname. Below is the folder structure for history logs:
For the cpq-toolkit pull command, the CLI tool will generate a pull.log file that contains the history of all downloaded BML Libraries from the CPQ Server.
pull Action Started Wed Dec 02 13:48:47 UTC 2020 Info : Pulling Util BMLs. Wed Dec 02 13:48:47 UTC 2020 Info : Pulling BML: checkIfModelHasRec Wed Dec 02 13:48:47 UTC 2020 Info : Pulling BML: smartRecRuleExecutor Wed Dec 02 13:48:47 UTC 2020 Info : Pulling BML: test_abodiagnosis Wed Dec 02 13:48:47 UTC 2020 Info : Pulling BML: getTransactionRESTAPI Wed Dec 02 13:48:47 UTC 2020 Info : Pulling BML: getTransactionAPI Wed Dec 02 13:48:47 UTC 2020 Info : Pulling BML: dataTypesBoolean Wed Dec 02 13:48:47 UTC 2020 Info : Pulling Util BMLTs. Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BMLT: testdataTypesBoolean Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BMLT: testgetTransactionAPI Wed Dec 02 13:48:48 UTC 2020 Info : Pulling Commerce BMLs. Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: transactionStatus Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: priceWithinPolicy Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: orderDate Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: version Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: orderedBy Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: taxExempt Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: currentStep Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: transactionCurrency Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: hasRecurringPricing Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: priceExpirationDate Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: defaultLineRequestDate Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: sample Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: getTemplateLocation Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: getUserAttributes Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: invokeWebService Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: oRCL_sm_postDefaultOnLineItem Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: oRCL_abo_PostDefaultsOnLineItems Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: oRCL_abo_BuildLineItemHierarchy Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: oRCL_abo_ReconfigureAction Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: Test Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BML: gettransactionStatus Wed Dec 02 13:48:48 UTC 2020 Info : Pulling Commerce BMLTs. Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BMLT: testtransactionStatus Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BMLT: testtest Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BMLT: testorderDate Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BMLT: testcurrentStep Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BMLT: testversion Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BMLT: testpriceExpirationDate Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BMLT: testgetUserAttributes Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BMLT: testinvokeWebService Wed Dec 02 13:48:48 UTC 2020 Info : Pulling BMLT: testtransactionCurrency ******** End ********
Depending on the option passed with the cpq-toolkit push command, the CLI tool will generate a push.log file to capture any validation errors, test results, and deployment status of BML upload to the CPQ Server.
push Action Started Fri Oct 02 11:30:56 PDT 2020 Info : Saving Library Function dataTypesString1DArray Fri Oct 02 11:30:57 PDT 2020 Info : Saving Library Function join_2d_date Fri Oct 02 11:30:58 PDT 2020 Info : Saving Library Function dataTypesBoolean2DArray Fri Oct 02 11:30:58 PDT 2020 Info : Saving Library Function dataTypesDate2DArray Fri Oct 02 11:30:59 PDT 2020 Info : Saving Library Function cpq_dn_sampleSetup_setupParameters Fri Oct 02 11:30:59 PDT 2020 Info : Saving Library Function cpq_dn_sampleSetup_invokeBmRestService Fri Oct 02 11:31:00 PDT 2020 Info : Saving Library Function cpd_dn_sampleSetup_massCloneQuote Fri Oct 02 11:31:00 PDT 2020 Info : Saving Library Function cpq_dn_sampleSetup_updateAQuote Fri Oct 02 11:31:00 PDT 2020 Info : Saving Library Function cpq_dn_sampleSetup_massUpdate Fri Oct 02 11:31:01 PDT 2020 Info : Saving Library Function dataTypesString Fri Oct 02 11:31:01 PDT 2020 Info : Saving Library Function libraryToLibraryChaining4 Fri Oct 02 11:31:01 PDT 2020 Info : Saving Library Function libraryToLibraryChaining3 Fri Oct 02 11:31:01 PDT 2020 Info : Saving Library Function libraryToLibraryChaining2 Fri Oct 02 11:31:02 PDT 2020 Info : Saving Library Function dataTypesFloat2DArray Fri Oct 02 11:31:02 PDT 2020 Info : Saving Library Function dataTypesStringDict Fri Oct 02 11:31:02 PDT 2020 Info : Saving Library Function dataTypesInteger2DArrayDict Fri Oct 02 11:31:03 PDT 2020 Info : Saving Library Function join_float Fri Oct 02 11:31:03 PDT 2020 Info : Saving Library Function dataTypesDictOfStringDictsLarge Fri Oct 02 11:31:03 PDT 2020 Info : Saving Library Function testUtil Fri Oct 02 11:31:03 PDT 2020 Info : Saving Library Function parametersNone Fri Oct 02 11:31:04 PDT 2020 Info : Saving Library Function dataTypesFloat Fri Oct 02 11:31:04 PDT 2020 Info : Saving Library Function largeFunction Fri Oct 02 11:31:06 PDT 2020 Info : Saving Library Function dataTypesBoolean Fri Oct 02 11:31:07 PDT 2020 Info : Saving Library Function join_2d_integer Fri Oct 02 11:31:07 PDT 2020 Info : Saving Library Function concatenatedStrings Fri Oct 02 11:31:07 PDT 2020 Info : Saving Library Function dataTypesInteger1DArray Fri Oct 02 11:31:08 PDT 2020 Info : Saving Library Function dataTypesFloat1DArray Fri Oct 02 11:31:08 PDT 2020 Info : Saving Library Function printStatements Fri Oct 02 11:31:08 PDT 2020 Info : Saving Library Function translatedLanguage Fri Oct 02 11:31:09 PDT 2020 Info : Saving Library Function dataTypesDate1DArrayDict Fri Oct 02 11:31:09 PDT 2020 Info : Saving Library Function recommendationRule_StringArrayAttribute Fri Oct 02 11:31:09 PDT 2020 Info : Saving Library Function join_2d_string Fri Oct 02 11:31:10 PDT 2020 Info : Saving Library Function libraryToLibraryChaining1 Fri Oct 02 11:31:10 PDT 2020 Info : Saving Library Function dataTypesFloatDict Fri Oct 02 11:31:10 PDT 2020 Info : Saving Library Function getSiteURL Fri Oct 02 11:31:10 PDT 2020 Info : Saving Library Function getCommerceProcessVariableNames Fri Oct 02 11:31:11 PDT 2020 Info : Saving Library Function parametersMultiple Fri Oct 02 11:31:11 PDT 2020 Info : Saving Library Function libraryToLibrary Fri Oct 02 11:31:11 PDT 2020 Info : Saving Library Function createAdvancedBOMItem Fri Oct 02 11:31:12 PDT 2020 Info : Saving Library Function dataTypesDate Fri Oct 02 11:31:12 PDT 2020 Info : Saving Library Function utilBMQLForDataTables Fri Oct 02 11:31:13 PDT 2020 Info : Saving Library Function dataTypesBoolean1DArray Fri Oct 02 11:31:13 PDT 2020 Info : Saving Library Function loginname_util Fri Oct 02 11:31:13 PDT 2020 Info : Saving Library Function dataTypesIntegerDict Fri Oct 02 11:31:14 PDT 2020 Info : Saving Library Function dataTypesString2DArrayDict Fri Oct 02 11:31:14 PDT 2020 Info : Saving Library Function libraryToLibraryLargeData Fri Oct 02 11:31:14 PDT 2020 Info : Saving Library Function dataTypesDictOfStringDicts Fri Oct 02 11:31:14 PDT 2020 Info : Saving Library Function approverSelection_UTIL Fri Oct 02 11:31:15 PDT 2020 Info : Saving Library Function dataTypesDate1DArray Fri Oct 02 11:31:15 PDT 2020 Info : Saving Library Function dataTypesDateDict Fri Oct 02 11:31:15 PDT 2020 Info : Saving Library Function accessACommerceAttributeUsingBMQL Fri Oct 02 11:31:22 PDT 2020 Info : Saving Library Function dataTypesFloat2DArrayDict Fri Oct 02 11:31:22 PDT 2020 Info : Saving Library Function join_date Fri Oct 02 11:31:22 PDT 2020 Info : Saving Library Function convertBOMUtil Fri Oct 02 11:31:23 PDT 2020 Info : Saving Library Function oRCL_INT_GetTemplateLocation Fri Oct 02 11:31:23 PDT 2020 Info : Saving Library Function oRCL_INT_GetIntegrationDetails Fri Oct 02 11:31:23 PDT 2020 Info : Saving Library Function oRCL_INT_GetTemplates Fri Oct 02 11:31:24 PDT 2020 Info : Saving Library Function utilLibraryCommerceDefault Fri Oct 02 11:31:24 PDT 2020 Info : Saving Library Function dataTypesString2DArray Fri Oct 02 11:31:24 PDT 2020 Info : Saving Library Function dataTypesString1DArrayDict Fri Oct 02 11:31:24 PDT 2020 Info : Saving Library Function dataTypesInteger1DArrayDict Fri Oct 02 11:31:25 PDT 2020 Info : Saving Library Function parametersMultipleSameDataType Fri Oct 02 11:31:25 PDT 2020 Info : Saving Library Function dataTypesBooleanDict Fri Oct 02 11:31:25 PDT 2020 Info : Saving Library Function dataTypesInteger Fri Oct 02 11:31:25 PDT 2020 Info : Saving Library Function dataTypesInteger2DArray Fri Oct 02 11:31:26 PDT 2020 Info : Saving Library Function dataTypesDate2DArrayDict Fri Oct 02 11:31:26 PDT 2020 Info : Saving Library Function migration Fri Oct 02 11:31:26 PDT 2020 Info : Saving Library Function join_integer Fri Oct 02 11:31:26 PDT 2020 Info : Saving Library Function urldatabypostasyncFunction Fri Oct 02 11:31:27 PDT 2020 Info : Saving Library Function getUserData Fri Oct 02 11:31:27 PDT 2020 Info : Saving Library Function parametersLargeNumber Fri Oct 02 11:31:28 PDT 2020 Info : Saving Library Function dataTypesFloat1DArrayDict Fri Oct 02 11:31:28 PDT 2020 Info : Saving Library Function uS_States Fri Oct 02 11:31:28 PDT 2020 Info : Saving Library Function join_2d_float Fri Oct 02 11:31:29 PDT 2020 Info : Running All Library Function Tests. Fri Oct 02 11:31:29 PDT 2020 Info : No BML Tests included with the upload or are related to the BML functions that were updated. No tests were run. Fri Oct 02 11:31:29 PDT 2020 Info : Deploying all saved library functions. Fri Oct 02 11:31:31 PDT 2020 Info : Saving Commerce Library Function defaultLineRequestDate Fri Oct 02 11:31:31 PDT 2020 Info : Saving Commerce Library Function transactionCurrency Fri Oct 02 11:31:32 PDT 2020 Info : Saving Commerce Library Function hasRecurringPricing Fri Oct 02 11:31:32 PDT 2020 Info : Saving Commerce Library Function orderedBy Fri Oct 02 11:31:33 PDT 2020 Info : Saving Commerce Library Function priceExpirationDate Fri Oct 02 11:31:33 PDT 2020 Info : Saving Commerce Library Function priceWithinPolicy Fri Oct 02 11:31:33 PDT 2020 Info : Saving Commerce Library Function transactionStatus Fri Oct 02 11:31:34 PDT 2020 Info : Saving Commerce Library Function orderDate Fri Oct 02 11:31:34 PDT 2020 Info : Saving Commerce Library Function currentStep Fri Oct 02 11:31:34 PDT 2020 Info : Saving Commerce Library Function taxExempt Fri Oct 02 11:31:35 PDT 2020 Info : Running All Library Function Tests. Fri Oct 02 11:31:35 PDT 2020 Info : Deployment of process 'oraclecpqo' has started. For deploy status, see task: 3022342972 Fri Oct 02 11:31:35 PDT 2020 Info : Saving Commerce Library Function quoteNumber Fri Oct 02 11:31:36 PDT 2020 Info : Running All Library Function Tests. Fri Oct 02 11:31:36 PDT 2020 Info : Deployment of process 'test' has started. For deploy status, see task: 3022342974 Fri Oct 02 11:31:36 PDT 2020 Info : Saving Commerce Library Function quoteNumber Fri Oct 02 11:31:36 PDT 2020 Info : Running All Library Function Tests. Fri Oct 02 11:31:36 PDT 2020 Info : Deployment of process 'test_bmClone_1' has started. For deploy status, see task: 3022342976 Fri Oct 02 11:31:36 PDT 2020 Info : Saving Commerce Library Function version Fri Oct 02 11:31:36 PDT 2020 Info : Running All Library Function Tests. Fri Oct 02 11:31:36 PDT 2020 Info : Deployment of process 'formula' has started. For deploy status, see task: 3022342978 Fri Oct 02 11:31:36 PDT 2020 Info : Saving Commerce Library Function dataTypesString Fri Oct 02 11:31:37 PDT 2020 Info : Saving Commerce Library Function libraryToLibraryToCommerceChaining4 Fri Oct 02 11:31:37 PDT 2020 Info : Saving Commerce Library Function dataTypesString1DArray Fri Oct 02 11:31:38 PDT 2020 Info : Saving Commerce Library Function userInformation Fri Oct 02 11:31:38 PDT 2020 Info : Saving Commerce Library Function dataTypesBoolean2DArray Fri Oct 02 11:31:39 PDT 2020 Info : Saving Commerce Library Function dataTypesDate2DArray Fri Oct 02 11:31:39 PDT 2020 Info : Saving Commerce Library Function dataTypesFloat2DArray Fri Oct 02 11:31:40 PDT 2020 Info : Saving Commerce Library Function dataTypesStringDict Fri Oct 02 11:31:40 PDT 2020 Info : Saving Commerce Library Function libraryToLibraryToCommerceChaining2 Fri Oct 02 11:31:41 PDT 2020 Info : Saving Commerce Library Function libraryToLibraryToCommerceChaining1 Fri Oct 02 11:31:42 PDT 2020 Info : Saving Commerce Library Function dataTypesInteger2DArrayDict Fri Oct 02 11:31:42 PDT 2020 Info : Saving Commerce Library Function getConfigAttrInfo Fri Oct 02 11:31:43 PDT 2020 Info : Saving Commerce Library Function dataTypesDictOfStringDictsLarge Fri Oct 02 11:31:44 PDT 2020 Info : Saving Commerce Library Function parametersNone Fri Oct 02 11:31:44 PDT 2020 Info : Saving Commerce Library Function dataTypesFloat Fri Oct 02 11:31:45 PDT 2020 Info : Saving Commerce Library Function reportingRandom Fri Oct 02 11:31:45 PDT 2020 Info : Saving Commerce Library Function commerceLibraryDefault Fri Oct 02 11:31:46 PDT 2020 Info : Saving Commerce Library Function dataTypesBoolean Fri Oct 02 11:31:46 PDT 2020 Info : Saving Commerce Library Function dataTypesInteger1DArray Fri Oct 02 11:31:47 PDT 2020 Info : Saving Commerce Library Function dataTypesFloat1DArray Fri Oct 02 11:31:48 PDT 2020 Info : Saving Commerce Library Function attributeTypes Fri Oct 02 11:31:48 PDT 2020 Info : Saving Commerce Library Function dataTypesDate1DArrayDict Fri Oct 02 11:31:49 PDT 2020 Info : Saving Commerce Library Function advancedModification Fri Oct 02 11:31:50 PDT 2020 Info : Saving Commerce Library Function dataTypesFloatDict Fri Oct 02 11:31:50 PDT 2020 Info : Saving Commerce Library Function massUpdateRandom Fri Oct 02 11:31:51 PDT 2020 Info : Saving Commerce Library Function dataTypesDate Fri Oct 02 11:31:51 PDT 2020 Info : Saving Commerce Library Function duplicateImportLibrary Fri Oct 02 11:31:52 PDT 2020 Info : Saving Commerce Library Function myEmail Fri Oct 02 11:31:52 PDT 2020 Info : Saving Commerce Library Function setRequiredAttributes Fri Oct 02 11:31:53 PDT 2020 Info : Saving Commerce Library Function test128178 Fri Oct 02 11:31:54 PDT 2020 Info : Saving Commerce Library Function dataTypesBoolean1DArray Fri Oct 02 11:31:54 PDT 2020 Info : Saving Commerce Library Function dataTypesIntegerDict Fri Oct 02 11:31:55 PDT 2020 Info : Saving Commerce Library Function autoUpdateCommerceFunction Fri Oct 02 11:31:55 PDT 2020 Info : Saving Commerce Library Function parametersMultiple Fri Oct 02 11:31:56 PDT 2020 Info : Saving Commerce Library Function libraryToLibraryToCommerce Fri Oct 02 11:31:56 PDT 2020 Info : Saving Commerce Library Function ensurePrimaryForOracle Fri Oct 02 11:31:57 PDT 2020 Info : Saving Commerce Library Function pricebookAttributes Fri Oct 02 11:31:57 PDT 2020 Info : Saving Commerce Library Function dataTypesDictOfStringDicts Fri Oct 02 11:31:58 PDT 2020 Info : Saving Commerce Library Function dataTypesString2DArrayDict Fri Oct 02 11:31:58 PDT 2020 Info : Saving Commerce Library Function libraryToLibraryToCommerceLargeData Fri Oct 02 11:31:59 PDT 2020 Info : Saving Commerce Library Function dataTypesDate1DArray Fri Oct 02 11:32:00 PDT 2020 Info : Saving Commerce Library Function bMQLDataTablesFromUtil Fri Oct 02 11:32:00 PDT 2020 Info : Saving Commerce Library Function dataTypesDateDict Fri Oct 02 11:32:01 PDT 2020 Info : Saving Commerce Library Function dataTypesFloat2DArrayDict Fri Oct 02 11:32:01 PDT 2020 Info : Saving Commerce Library Function dataTypesString2DArray Fri Oct 02 11:32:02 PDT 2020 Info : Saving Commerce Library Function libraryToLibraryToUtilLargeData Fri Oct 02 11:32:02 PDT 2020 Info : Saving Commerce Library Function dataTypesString1DArrayDict Fri Oct 02 11:32:03 PDT 2020 Info : Saving Commerce Library Function approverSelection Fri Oct 02 11:32:03 PDT 2020 Info : Saving Commerce Library Function dataTypesInteger1DArrayDict Fri Oct 02 11:32:04 PDT 2020 Info : Saving Commerce Library Function parametersMultipleSameDataType Fri Oct 02 11:32:04 PDT 2020 Info : Saving Commerce Library Function dataTypesBooleanDict Fri Oct 02 11:32:05 PDT 2020 Info : Saving Commerce Library Function dataTypesInteger Fri Oct 02 11:32:05 PDT 2020 Info : Saving Commerce Library Function libraryToLibraryToUtil Fri Oct 02 11:32:06 PDT 2020 Info : Saving Commerce Library Function quoteNumber Fri Oct 02 11:32:06 PDT 2020 Info : Saving Commerce Library Function resetIntegrationIDsForSFDC Fri Oct 02 11:32:07 PDT 2020 Info : Saving Commerce Library Function dataTypesInteger2DArray Fri Oct 02 11:32:07 PDT 2020 Info : Saving Commerce Library Function dataTypesDate2DArrayDict Fri Oct 02 11:32:08 PDT 2020 Info : Saving Commerce Library Function instantPricingLibrary Fri Oct 02 11:32:08 PDT 2020 Info : Saving Commerce Library Function bMQLTest Fri Oct 02 11:32:10 PDT 2020 Info : Saving Commerce Library Function parametersLargeNumber Fri Oct 02 11:32:10 PDT 2020 Info : Saving Commerce Library Function dataTypesFloat1DArrayDict Fri Oct 02 11:32:11 PDT 2020 Info : Saving Commerce Library Function priceAttributeSet Fri Oct 02 11:32:11 PDT 2020 Info : Saving Commerce Library Function libraryToLibraryToCommerceChaining3 Fri Oct 02 11:32:12 PDT 2020 Info : Saving Commerce Library Function Test testMyEmail Fri Oct 02 11:32:12 PDT 2020 Info : Running All Library Function Tests. Fri Oct 02 11:32:12 PDT 2020 Info : Deployment of process 'transaction_bmClone_2' has started. For deploy status, see task: 3022343042 ******** End ********
If you are running Util or Commerce BMLTs with the push command, the results of these tests will be stored in JSON format in the testResults.json file as shown below.
{ "testorderDate" : { "success" : true, "printOutput" : [ ] }, "testCommerceQuoteNumber" : { "success" : true, "printOutput" : [ "Success! No asserts failed! Actual value is matching with the expected value" ] }, "testtransactionCurrency" : { "success" : true, "printOutput" : [ ] }, "testtransactionStatus" : { "success" : true, "printOutput" : [ "Success! No asserts failed! Actual value is matching with the expected value" ] } }
If you are deploying a commerce process, the CLI will generate a deploymentTasks.json file to capture an associated deployment task number. The following example shows three commerce processes with associated task numbers:
{
"transaction_bmClone_2" : 3022343042, "formula" : 3022342978, "oraclecpqo" : 3022342972 }
Notes
- Limit the number of developers that can perform pull, save, or deploy commands directly to CPQ.
- Use your source control system to manage a master version of the site contents.
- Push specs should only include BML Library functions that the developer is currently working on.
- At a given time, only one developer should be working on a specific BML function or test.