How to know the rrc server owningApplicationKey_REST API related
When comes to RRC, it failed.
How can I know the owingApplicationKey for a specific RRC server automatically?
It seems that the RRC Rest API depends on the JTS server, when given a RRC server address, how I can know its JTS server address?
2 answers
If you want to know the RM active projects, you might want to use:
GET https://<server>:<port>/rm/discovery/RMCatalog?private=true&accept=*
Not sure about the JTS but if you look at the rootservices of your RM application, you might get what you need about how to know what is the url for the JTS service:
GET https://<server>:<port>/rm/rootservices
Hope that helps
And yes, RRC uses JTS for storing its data, and that is configured during CLM setup. Both the JTS address and the RRC owning application key is not explicitly exposed outside the RRC application.
Comments
Hi Bas,
Thanks for your reply.
The background is that I am writing a Perl script to get the history information for all projects on a CLM server.
I tried to get the active project information by this way,
$server/service/com.ibm.team.process.internal.service.web.IProcessWebUIService/projectAreasPaged?hideArchivedProjects=true&owningApplicationKey=JTS-Sentinel-Id&pageNum=0&pageSize=1000
The $server can be RTC, RQM,RRC root service like https://<server>:<port>/jazz,https://<server>:<port>/qm,https://<server>:<port>/dm
And this will return me a json format dataset, and I can process to get each project ID, and project name.
But when comes to RRC, I fount out that the RRC can not work like this way. The REST API for RRC to get the project list is,
$server/service/com.ibm.team.process.internal.service.web.IProcessWebUIService/projectAreasPaged?hideArchivedProjects=true&owningApplicationKey=8815b0584&pageNum=0
The server is not the the https://<server>:<port>/rm, must be replaced with its jts root service https://<server>:<port>/jts.
So that is the reason I want to find out the way to get the jts root service for a rrc server and the way to figure out the owningApplicationKey, seems like the owningApplicationKey changes for different RRC server.
Yes, the owningApplicationKey is assigned upon RM registering with JTS, and is a different unique ID each time. But like said earlier, RM does not expose this key to the outside. Actually the owningApplicationKey is mainly a JTS internal mechanism and RM does not make use of it.
Your workaround would be using the RM OSLC public API with the GET https://<server>:<port>/rm/discovery/RMCatalog?private=true&accept=*
request to obtain the project areas. Which would be better anyway, as it is the public API we support, while the requests you are showing are non-public API request, that can change over time.