Access PPM data using OData
PPM supports OData (Open Data Protocol), the OASIS REST-based standard for accessing data. Developers with required access can use OData to access PPM data. This topic provides instructions for accessing PPM data using OData.
Prerequisites
You should configure the following before using OData to access PPM data.
- Expose PPM data to OData by creating a self-service portlet data source from a dashboard data source. For details, see Create self-service portlet data sources.
- Enable the self-service portlet data source.
-
Specify who can access PPM data by giving users or user groups the access to the self-service portlet data source. For details, see Access.
Developers that belong to the specified user groups can retrieve PPM data over OData by directly querying with an API client.
Base URI
The PPM server base URI for accessing PPM data using OData is:
https://<web_server><server_port>/itg/odata/<self_service_portlet_data_source_service_name>
Access PPM data using OData
This section describes how to access PPM data using OData with a REST client.
Authenticate
To work with OData, authenticate using one of the authentication methods described in Authentication.
Retrieve PPM data
You can use OData to retrieve PPM data, but you cannot update (POST, PUT, DELETE) PPM data. Only GET requests are supported.
Action | Details |
---|---|
Get the metadata |
Append $metadata to the base URI:
The data is returned in the XML format. |
Get the rows |
The data is returned in the JSON format. |
Use OData query options for refined results
Refine the results by appending the query options to the end of the GET requests.
PPM currently supports the following OData URI conventions:
Functions |
String functions: concat, contains, endswith, startswith, indexof, length, toupper, tolower, trim, substring, round |
Operators |
Logical operators: gt, lt, ge, le, eq, ne, and, or, not Arithmetic operators: add, div, - (the minus sign), mod, mul, sub |
Transformations | $apply transformations: aggregate, filter, groupby |
For details about the OData URI conventions, see the OData documentation.
Example
Example: To return the forecast benefits of the portfolio 30000, grouped by strategic themes:
GET <base_URI>/PortfolioItems?PORTFOLIO_ID=30000&$apply=groupby((RES_F_strategicTheme),aggregate(RES_F_totalForecastBenefit%20with%20sum%20as%20RES_F_totalForecastBenefit_totals))
See also: