Today, I thought we’d look at a new series which covers the Enterprise Data Management REST APIs. There is always a need to integrate with master data management tools like Enterprise Data Management (EDM), and so far, “EPM Automate” does not offer all the full-blown functionalities that REST does, in my perspective. I am sure these capabilities will increase and improve over time. For instance, the screenshot below captures EDM-related capabilities that exist as of 6/11/2020, from EPM Automate.
One of the gaps that exists currently, is the inability to automate the creation and processing of “requests”. In my mind, I always equate requests as counterparts to DRM action scripts. I am not an expert on this, but, it seems like any user actions performed within EDM are series of requests. I suggest reading the esteemed Kate Helmer’s blog for tips and tricks on EDM. Recently, I encountered a situation where we needed to automate the request building process into EDM. This series of posts will go over how to automate requests into EDM, using the REST API.
First things first, as with anything, we start with simple tests. Authentication (Basic) examples can be found here, and the principles are the same for all EPM Cloud products. The base URL for EDM’s REST call gives us the expected results:
Now, let’s get to “requests”. In our scenario, we would like to load a series of “new nodes” to a hierarchy. Imagine if these new nodes were coming from another system, and we needed to upload them to EDM. In order to do this, let’s try to break down the actions that will need to happen:
- Create a new request within EDM. Thus generating a “request ID”
- Upload a file containing the needed actions into the request.
- Read the uploaded file to generate individual request items.
- Commit the request to the desired status.
Create a New Request
In order to create a new request, one of the pre-requisites, is to figure out the “view ID” of the hierarchy you are applying your requests to. For instance, in the screenshot below, we have a view called “Planning”.
To create a request that uploads to this “Planning” view, we need to get the UUID for the view. Think of it as an internal ID, nothing more. From what I can tell (there very well could be better ways), you can gather this using the following REST call.
The request REST call requires a POST action. Note, that the body of your POST action needs to contain the view ID you retrieved earlier. This is embedded into the “viewUri” section.
Upon successful completion, we generate a request ID, similar to the view ID we used earlier. This too, needs to be collected for the next steps in the process.
If we check on EDM, we can see that our request has been successfully created.
This concludes part 1 in this series. In the next post, we will cover uploading files and hopefully, the rest of the steps, if it doesn’t get too verbose. This was just my crack at using the EDM REST API; I am sure there are better examples on doing this. Finally, as always, be safe, wash your hands, show compassion, and be positive.
1 2 3 4 5 6 7 8 9 10 |
The REST calls I used are: GET Base https://{{YOUR_EDM_URL}}/epm/rest/v1/ GET views https://{{YOUR_EDM_URL}}/epm/rest/v1/views POST create request https://{{YOUR_EDM_URL}}/epm/rest/v1/requests/ |