This article will show you how to use the PPM Cloud REST API, illustrating how it can used to automate a manual task.
One of the challenges in Oracle PPM is maintaining worker assignments to projects - with a small number of workers and a handful of projects, this is simple, but can more onerous in larger organizations.
The PPM REST API allows you to assign workers to projects from the command line. This gives the potential to script multiple updates, saving time navigating in and out of each project’s team member list to perform manual assignments.
Getting Started
The first thing required is an ERP Cloud user account with the "Projects Integration Specialist" role - this allows the PPM REST APIs to be called.
You will also need the base URL for your cloud instance, which is in the form:
https://<pod>.prj.<region>.oraclecloud.com:443
For example, if your pod is abcd-dev1, and the region is em3 then the base url is:
https://abcd-dev1.prj.em3.oraclecloud.com:443
We will use URL in the examples below.
Retrieving The Project Id
The Team Members REST API is driven by the Project Id and not the Project Number or Project Name. So if we want to assign someone to project 1100100, we need to know Oracle’s internal ID for this project.
One way to find this out would be to use Oracle BI Publisher to create a custom Data Model with a simple SQL statement such as:
SELECT project_id , segment1 project_number FROM pjf_projects_all_v WHERE segment1 = '1100100';
When run, this would return the Project Id and Project Number.
Alternatively, sticking to our theme of running from the command line, we can use the PPM REST web service to do the same thing. To call a REST web service from the command line, we’ll use cURL.
The Projects GET URL is constructed from the following elements:
These are then used in the cURL command below.
curl --user USERNAME:PASSWORD -X GET \ "https://abcd-dev1.prj.em3.oraclecloud.com:443/projectsFinancialsApi/resources/latest/projects?fields=ProjectId,ProjectNumber&onlyData=true&limit=50&q=ProjectNumber=1100100"
This gives returns the Project Id for the Project Number.