Decision Management (ODM, ADS)

 View Only

Validating Operational Decision Manager with a bash script

By Julie Garrone posted Thu February 02, 2023 11:55 AM


The script is now available for you to perform a minimal acceptance validation of ODM automatically.

This can be used to validate custom images of ODM or an ODM instance deployed on a kubernetes cluster using the odm helm chart.

The script configuration requires environment variables defining the ODM endpoints and authentication parameters to use.
It accepts basic and OpenID authentication methods.

This bash script executes curl commands on the Rest API of the components to validate the following scenario:

  1. Import the Loan Validation decision service
  2. Run the Main Scoring test suite
  3. deploy the test_deployment and production_deployment RuleApps
  4. Verify the deployment in RES
  5. Execute a RuleSet in DSR and verify its result
  6. [Optional] Delete the RuleApps in RES


You need the following ODM components to be running: Decision Center (DC), Decision Server Console (RES) and Decision Server Runtime (DSR).
Take a note of the endpoints of your components.


  1. Get the script source folder
    $ wget
    $ unzip
    $ cd validate-odm
  2. Define the required environment variables to configure ODM endpoints and credentials, refer to Environment Variables section for more information.
    You can fill the provided .env.template file:
    $ mv .env.template .env
    $ vi .env
  3. Run the script
    📥  Upload Decision Service to DC:  COMPLETED
    🧪  Running Main Scoring test suite in DC ...  
        ▪ Wait for Main Scoring test suite to be completed in DC:  DONE
        ▪ Test report status in DC:  SUCCEEDED
    🚀  Deploy RuleApp test_deployment/1.0 to DC:  COMPLETED
    🔎  Verifying test_deployment RuleApp deployment ...
        ▪ Get RuleApp test_deployment/1.0 in RES:  DONE
        ▪ Verify last RuleSet deployed test_deployment/1.0/loan_validation_production/1.0 in RES:  SUCCEEDED
        ▪ Verify last RuleSet deployed test_deployment/1.0/loan_validation_with_score_and_grade/1.0 in RES:  SUCCEEDED
    🚀  Deploy RuleApp production_deployment/1.0 to DC:  COMPLETED
    🔎  Verifying test_deployment RuleApp deployment ...
        ▪ Get RuleApp production_deployment/1.0 in RES:  DONE
        ▪ Verify last RuleSet deployed production_deployment/1.0/loan_validation_production/1.0 in RES:  SUCCEEDED
    🧪  Running RuleSet test ...
        ▪ Test RuleSet production_deployment/1.0/loan_validation_production/1.0 in DSR:  COMPLETED
        ▪ Check RuleSet test result in DSR:  SUCCEEDED
    🎉  ODM has been successfully validated!

Note: To be able to see the emojis, a font like fonts-noto-color-emoji should be installed in your terminal.

Environment variables

The script requires the following environment variables to be defined either manually or in a .env file:

  • ODM endpoints:
    • DC_URL : Endpoint of the Decision Center instance to test
    • RES_URL : Endpoint of the Decision Server Console (RES) instance to test
    • DSR_URL : Endpoint of the Decision Server Runtime instance to test

Note: Endpoint corresponds to the service URL or the route URL without the context route of the application.

  • Authentication configuration:
    • To use basic authentication mode, define:
      • ODM_CREDS : Credentials to connect to ODM using the format <user>:<password>
    • To use OpenID authentication mode, define:
      • ODM_CREDS : Credentials to get the token using the format <clientId>:<clientSecret>
      • OPENID_URL : URL of the OpenId Server


    You can use the option -c to delete the created RuleApps in Decision Server Console at the end of the validation process.