November 2025 EPM Feature Update: Post Clone Steps Simplified by using LocalHost URL in Connections
- Sarah Ansell

- 2 days ago
- 2 min read
In October 2025 Oracle released an upgrade that prevented the use of localhost being used within External Web Service Connections. In the November 2025 Oracle EPM patch updates this has been reversed! Excellent news for me as I love using the localhost method of creating a Connection in EPM. I hope they keep this functionality available going forwards for those who would like to use it.
In this blog, I share a little information about why you might want to start using this rather than hardcoding your environment URL within your EPM Connection.
What would I use an External Web Service Connection for?
This type of Connection can be used by Business Rules to connect and use REST API commands, allowing you to automate activities that would otherwise need to be manually performed by an administrator.
Here are some things I have used REST API commands for:
Renaming the Artifact Snapshot backup that is created in the Daily Maintenance Window
Deleting Snapshots so that you can create a rolling 7 days worth of backups
Allowing users to launch a Business Rule via an administrators user to allow actions they wouldn't usually have access to within their own security
Kicking off a data integration via a Business Rule - though Pipelines have mostly superseded the need for this!
How can I create the Connection so that I can use a REST API Business Rule?
Go to Navigator - Connections
Click Create and select Other Web Service Provider
Complete the fields:
Connection Name: Local EPM (choose any name!)
Description: Any
URL: http://localhost:9000
User / Password: Must be an Administrator
Click Save and Close
Create a Business Rule and change the type to Groovy, add your REST API Commands as required. Here is an example where I call the Connection, named 'Local EPM', and I post the remainder of the URL required for launching a business rule.
HttpResponse<String> jsonResponse = operation.application.getConnection("Local EPM").post('/HyperionPlanning/rest/v3/applications/InsertAppName/jobs')
.header("Content-Type", "application/json")
.body(json(["jobType":"Rules", "jobName":"Rule1", "parameters":["RTPName":rtps.RTPName.toString()]]))
.asString();
When this runs, .getConnection will essentially replace http://localhost:9000 connection URL with the actual URL for the EPM environment. You may need to adjust the post.('/HyperionPlanning/rest/v3/applications/InsertAppName/jobs') section and .body section depending on which REST API command you are using and you should refer to the Oracle REST API documentation to lookup the format require for each command. The example above and some of the other blog's I have may help with this part.
Why not just use the hardcoded URL of the environment e.g. https://planning-12345.epm.london.ocs.oraclecloud.com/HyperionPlanning/ ?
When cloning environments from Production to Test, if the Connection URL is hardcoded, the URL will for Production will copy across to Test. What this means, is anything running a job using the REST API connection in your test environment will actually connect to your Production environment using that URL. So you can effectively think you're working within the test environment and kick off jobs in Production...
When you do clone, you always need to re-enter the Password for the Connection, so there is an opportunity to update the URL to the correct environment at this point - but you'll be surprised how many times the URL doesn't get updated by accident.
Why not give yourself one less post clone step!




Comments