This was a lying in my draft for a quite long time after my webinar on this topic, finally publishing it :-) have fun.
The complete documentation for the REST API for Oracle EPM Cloud is here
Straight from document:
REST describes any simple interface that transmits data over a standardized interface (such as HTTP) without an additional messaging layer, such as SOAP. REST provides a set of design rules for creating stateless services that are viewed as resources, or sources of specific information, and can be identified by their unique URIs. RESTful web services are services that are built according to REST principles and, as such, are designed to work well on the web. Typically, RESTful web services are built on the HTTP protocol and implement operations that map to the common HTTP methods, such as GET, POST, PUT, and DELETE to retrieve, create, update, and delete resources, respectively.
REST API Methods
You can create, view, update, or delete Oracle Enterprise Performance Management
Cloud resources using standard HTTP method requests, as shown below
Current REST API Version
Covering only majorly used components
There are multiple REST API clients available for free, you can pick as per your choice.
Using the REST API client invoking the Planning REST resource (/HyperionPlanning/rest/ ) will provide the latest and active API version.
Invoking the Migration REST resource (/interop/rest/ ) will provide the latest and active API version.
Invoking the Data Management REST resource (/aif/rest/ ) will provide the latest and active API version.
The REST APIs allow service administrators to perform the tasks in the EPM Automate Utility through REST APIs instead of using a command line. You must be a service administrator to perform tasks using the REST APIs.
Lets see how to access REST API via the GROOVY ya the complete automation.
About Groovy:
Apache Groovy is an object-oriented programming language for the Java platform. It is a dynamic language with features similar to those of Python, Ruby, Perl, and Smalltalk. It can be used as a scripting language for the Java Platform, is dynamically compiled to Java virtual machine (JVM) bytecode, and interoperates with other Java code and libraries. Groovy uses a Java-like curly-bracket syntax.
Use the Oracle Hyperion Planning REST APIs to get the REST API version, manage
and execute jobs, and work with members, applications, planning units, user
preferences, data slices, and substitution variables.
I have built a simple program that will list the details about the PBCS application that is already created.
My Properties File:
Importing the needed package and passing the needed information for the execution, in this example i am reading the values from a properties file.
Added the Helper Commands taken from the document.
Function to get the application details
Output of the Program:
Will post the rest of the groovy program for calling the /HyperionPlanning/rest/ in the upcoming series.
Happy resting with REST API....
The complete documentation for the REST API for Oracle EPM Cloud is here
Straight from document:
REST describes any simple interface that transmits data over a standardized interface (such as HTTP) without an additional messaging layer, such as SOAP. REST provides a set of design rules for creating stateless services that are viewed as resources, or sources of specific information, and can be identified by their unique URIs. RESTful web services are services that are built according to REST principles and, as such, are designed to work well on the web. Typically, RESTful web services are built on the HTTP protocol and implement operations that map to the common HTTP methods, such as GET, POST, PUT, and DELETE to retrieve, create, update, and delete resources, respectively.
REST API Methods
You can create, view, update, or delete Oracle Enterprise Performance Management
Cloud resources using standard HTTP method requests, as shown below
Method |
Description
|
---|---|
GET
|
Retrieve information about the REST API resource
|
POST
|
Create a REST API resource
|
PUT
|
Update a REST API resource
|
DELETE
|
Delete a REST API resource or related component
|
Current REST API Version
Covering only majorly used components
REST Resource | REST API version | Getting REST API Versions |
---|---|---|
Planning
|
v3
|
/HyperionPlanning/rest/
|
Migration
|
11.1.2.3.600
|
/interop/rest/
|
Data Management
|
V1
|
/aif/rest/
|
There are multiple REST API clients available for free, you can pick as per your choice.
Using the REST API client invoking the Planning REST resource (/HyperionPlanning/rest/ ) will provide the latest and active API version.
Invoking the Migration REST resource (/interop/rest/ ) will provide the latest and active API version.
Invoking the Data Management REST resource (/aif/rest/ ) will provide the latest and active API version.
- These REST APIs support basic authentication (name and password) in the format identitydomain.username for this release.
- All HTTP requests to the Oracle Enterprise Performance Management Cloud REST API require authentication.
- Every HTTP request to EPM Cloud should supply HTTP Basic Authentication credentials through the Authorization header.
The REST APIs allow service administrators to perform the tasks in the EPM Automate Utility through REST APIs instead of using a command line. You must be a service administrator to perform tasks using the REST APIs.
Lets see how to access REST API via the GROOVY ya the complete automation.
About Groovy:
Apache Groovy is an object-oriented programming language for the Java platform. It is a dynamic language with features similar to those of Python, Ruby, Perl, and Smalltalk. It can be used as a scripting language for the Java Platform, is dynamically compiled to Java virtual machine (JVM) bytecode, and interoperates with other Java code and libraries. Groovy uses a Java-like curly-bracket syntax.
Planning REST APIs
Use the Oracle Hyperion Planning REST APIs to get the REST API version, manage
and execute jobs, and work with members, applications, planning units, user
preferences, data slices, and substitution variables.
I have built a simple program that will list the details about the PBCS application that is already created.
My Properties File:
Importing the needed package and passing the needed information for the execution, in this example i am reading the values from a properties file.
Added the Helper Commands taken from the document.
Function to get the application details
Output of the Program:
Will post the rest of the groovy program for calling the /HyperionPlanning/rest/ in the upcoming series.
Happy resting with REST API....
Good document to start with the REST API for PBCS. I love to do with Python. Really appreciate your effort on this blog.
ReplyDeleteAny word on the on prem documentation? I have gotten a handful of these API's working (couldn't have done it with out your blog) and they have been great, especially importing and exporting JSON paylaods, but the cloud documentation of the Execute Job request payload does not work for on prem and I haven't been able to modify to work.
ReplyDeleteI am also facing the same issue. REST call is not working in Hyperion Planning when I am trying to run a Job. Can you please confirm whether this issue was resolved for you?
DeleteNever was able to get it working with parameters. Are you able to run it without parameters?
DeleteGlad my post helped you.I did covered regarding jobs in other post https://onlyhyperion.blogspot.in/2017/10/planning-rest-api-oracle-pbcs.html
ReplyDeletebut that is for PBCS. Can you post the code your are using and the issue, i will try to have a look.
Hey thanks for taking the time. I am using 11.1.2.4 on prem. The URL I am using is /HyperionPlanning/rest/11.1.2.4/applications/MyApplication/jobs. I read that that 11.1.2.4 takes form urlencoded payload so I have been passing
DeleteJobType="Rules"&JobName="CALCALL"
I have tried JSON objects as well
{“JobType”:”JobType”,”jobName”:”JobName”}
no matter what I pass, including total garbage I get
{
"descriptiveStatus": "Error",
"jobId": -1,
"details": "Unable to find the job because the job name or type is missing. Try again with a valid job name and type.",
"status": 4,
"type": "HP",
"links": null
}
Try jobType="Rules"&jobName="CALCALL" where both occurences of j are lowercase. Worked with me as long as the rules does not have an RTP
DeleteThanks for the reply but I got it working awhile ago. Too bad the about the RTPs, seems like a bug that is hopefully worked out
DeleteWere you able to run the job in Hyperion Planning(On Prem) using the Post call? If yes can you please share the command you used?
DeleteYes I was able to get it to work, just without parameters. I suggest using something like Postman to figure out how to make the call then code it using whatever language (C# for me) The URL I use is
Deletehttp://{server}:{port}/HyperionPlanning/rest/{11.1.2.4}/applications/{applicaiton}/jobs
Using a post command with content type application/x-www-form-urlencoded
Then add a two parameters
Key Value
jobName Name of your job
jobType RULES
Thanks a lot for the hint. It worked. Do you know if there is any chance the REST API works with standard JSON body?
Deletei am working to synch two env for dR, is it possible using only rest API
ReplyDeleteI would like to thank the author for his such useful and informative blog post about Power BI.
ReplyDeletePowerbi Read Soap