Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

Where can I find the "project_id" ?

I'm using the IBM Engineering Requirements Management Doors Next application to upload and download requirements, yes, I'm aware. What I'd like to achieve is connecting to the application using a Python Flask API connection. In my own project, I'm planning to create an interface with selected options through a web server. To establish the connection between Doors and Python Flask, I need the 'project_id' of the project. How can I find the 'project_id,' and is what I'm trying to do feasible? Could you assist me with this?

0 votes



3 answers

Permanent link

 I had provided this on the first version of the question:

There is not enough information to answer. What is the purpose? To achieve what? Please see  How should I ask a question in the Forum if I want to receive useful answers? and enhance your question.


Otherwise, should this be API related the supported APIS are explained here: https://jazz.net/wiki/bin/view/Deployment/CLMProductAPILanding 

0 votes


Permanent link

To state you need the project ID, required the knowledge that there is an ID and an API that uses the project ID to get the data. Then you would know which API that is and likely have documentation for it and could find out how to get the project ID.


Having said this, DNG has several APIs See https://jazz.net/wiki/bin/view/Deployment/CLMProductAPILanding  and see the APIs supported by DNG. There are two REST APIs, the OSLC API and the Reportable REST API. The OSLC API is the only API of the two that allows updates. There are other server (REST) APIs for special purposes e.g. the module API.

The APIs have a documentation link and there is the OSLC workshop which is outdated, but still provides useful hints. OSLC uses a discovery mechanism to find the service providers (project areas). You get a list of those and each element can be GET to provide details such as Project Area name and Unique ID etc.  I have tried to explain some of the principles of the EWM OSLC API in this series of posts: https://rsjazz.wordpress.com/2021/09/29/using-the-ewm-rest-and-oslc-apis/

EWM is not DOORS Next, however there are a lot of common principles in the OSLC API, especially discovery. So looking at this might be useful. A colleague of mine has used the OSLC API together with Flask. Some more links:

https://archive.open-services.net/wiki/requirements-management/OSLC-Requirements-Management-Specification-version-2.0/index.html

Use https://www.google.com/search?q=OSLC+RM for more links. I found that interesting as well:

https://github.com/IBM/ELM-Python-Client is a resource to look into as well.


0 votes

Comments

Please be aware that OSLC has unfortunately a steep learning curve. So it makes sense to look at example code if you can find it. 


Permanent link

 Hi


I'm not aware that there is the concept of the 'id' (an integer?) of a DOORS Next project in the public APIs. You can discover project area-related URLs and other information such as components and configurations (again, URLs) using the supported APIs - there's a walkthrough starting at /rm/rootservices here https://jazz.net/forum/questions/266334/dng-oslcfetch-components-from-project-area/266667

It's important to use discovery and NOT EVER construct or hardcode URLs because hardcoding is very fragile across versions.

As to the practicality of your approach, all that's needed to access the REST/http APIs is a programming language that can talk http, and Python is certainly capable of that. AFAIK there's no need to run a http server such as Flask to use the APIs as a client.

HTH
Ian

0 votes

Comments

Ian, the DNG reportable REST API mentions UUID's. 

Yes but you don't use the UUID by itself;  you use the URL that  contains the UUID. 

 Ah, the Reportable REST API uses UUID for some filters - so you'd extract it from the project/module URL. But for the OSLC APIs you do not need to split it from the URLs you find.

Yes. It is a bit unfortunate that the APIs behave different. 

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details

Question asked: Aug 10 '23, 4:02 a.m.

Question was seen: 1,765 times

Last updated: Aug 15 '23, 5:39 a.m.

Confirmation Cancel Confirm