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

Collaborative Lifecycle Management (CCM, QM and RC) Web Service architecture and web services

Hi there,

I am a beginner of CLM and am going to call web services of CLM to handle such functions below.
(1) Search project areas under some conditions. The project areas include the ones under CCM, QM and RC.
(2) Extract project area necessary information as project template, so that users can apply the project template for new project area.
(3) Create project area using existing project template.

As I have not any idea about CLM for now, in order to finish those functions, could someone please provide any hints? How could I start from? What material can I reference to?

In addition, does CLM provide unified web service to manage project areas under CCM, QM and RC? Is there any relationship for project areas under CCM, QM and RC? I tested to create a project area under CLM and found there are three project areas actually. Is there any parent project area in CLM, which has relationship with the project areas under CCM, QM and RC? I think I don't have any idea about the architecture either.

Thanks in advance!

0 votes



11 answers

Permanent link
Hello,

The REST API for Process (which exposes project areas) is here:
https://jazz.net/wiki/bin/view/Main/DraftTeamProcessRestApi

You will be able to do some, but not all of what you want through the REST APIs.

The "Export Process Template" command on the right side of the row for a project area on the Active Project Areas page will extract a process template for the project area.

For unified project management, you should use the Lifecycle Project Administration that is built into CLM. See the 4.0.1 version of online help about the application here:
https://pic.dhe.ibm.com/infocenter/clmhelp/v4r0m1/topic/com.ibm.jazz.platform.doc/topics/c_creating_managing_cross_application_projects.html

Ruby

Martha (Ruby) Andrews
Jazz L3 Developer

0 votes


Permanent link
Ruby (@mandrew) - Thanks for the pointers. Is there an API to drive the export of a process template instead of executing the command from the UI? This will help Ben to automate ask #2.

Ben (@smallbarrow) - It was nice talking to you today on this topic. The first URL Ruby provided above, Process REST API, has the necessary APIs that you need for accomplishing the use-case, may not be completely as Ruby said, but to a great extent. Here is how:
  1. Locating Projects - this is possible via the Project Areas Collection API.
  2. Exporting the current Process as a Template - this is typically a one-time effort and so can be done manually.
  3. Create Project using a Process template - this is possible via the Project Area REST APIs .
Thanks,
Pradeep


0 votes


Permanent link
Thanks Ruby and Pradeep for your hints.

According to Ruby's statement "You will be able to do some, but not all of what you want through the REST APIs", can I suppose that extracting process template from existing project area through REST API is NOT doable? Personally, I consider this requirement is the hardest one as I know less at Jazz production.

I spent much effort to investigate the feasibility and had not got answer now. Through Google search, I only know that Rational Method Composer (RMC) can make process template, which is not the way we would like to get.

Please kindly provide further help or please tell me conclusion after your investigation. Maybe it indeed could not be met to extracting process template from existing project area.

Thanks again.

Ben

0 votes


Permanent link
Ben - Typically exporting the process is not done for all projects but only for a few to seed other projects. Thus one approach is to have a process leader export the process for key projects as templates and deploy them, so that in your step #3, you can simply refer to the appropriate template (or let the user choose this template via your UI).

As I explained over the call, process template is one of the ways of seeding a new project. Another approach is to refer to an existing project that is registered as a shared process provider while creating a new project. Please refer to this topic in the online help: https://jazz.net/help-dev/clm/index.jsp?re=1&topic=/com.ibm.team.concert.tutorial.doc/topics/tut_project_area_sharing_intro.html&scope=null

Of course, there are some differences in behavior (not in any function but in terms of propagating process changes post-creation) and that's why it is important to understand the overall use-case so that a tailored advice could be provided to achieve your end objective (instead of simply answering the questions). It will be helpful if you could explain the overall use-case you want to implement since the RTC Web UI is already capable of doing the tasks you want to perform (locate Project, export process as template, create new project using a template).

Thanks,
Pradeep

0 votes


Permanent link
Hi Pradeep and Ruby,

I think the use case is clear. Like two persons, John and Bob. John is using a project area in which Bob is feeling interested, Bob would like to create a project area using John's project template.
Almost all listed functions are related to this use case.
In this case, we would like to generate project template automatically using REST API through program. (Security is not involved in the consideration for now)
I only want to know if there is any possibility to do that using REST API instead of using manual way.

Thanks again.

Best,
Ben

0 votes


Permanent link
Hi Ben,

In that case, how about John marking his Project as sharing the Process so that Bob could creating his project by referring to John's project? This is explained in the online help I pointed to above.

The point I tried to make earlier was, typically it is John's decision whether to make his process shareable or not (either exporting it and making it available as a template or my enabling his project to share process) and not necessarily a decision Bob alone makes.

Thanks,
Pradeep

0 votes


Permanent link
Hi Pradeep,

Really appreciate you for your information. I think I have got your points.
The link about project area sharing is a way to solve the problem, I am wondering whether it can be implemented using an automatic way. If project area sharing can be done through REST API, I think it will solve my concern completely.
And another question is, is this project area sharing suitable for QM and RM? It seems to work in RTC only.

Thanks again!

Best,
Ben

0 votes


Permanent link
Ben,

I am not sure if process sharing can be done using the REST API. I am not a REST API expert. I have seen (internal) Java API for this. As Pradeep mentions, process management should be done carefully. Dependent on who maintains the processes you can give all projects full freedom or you can have limited resources that do it for them and need to maintain a limited number of processes.

The Idea of process sharing is the latter. You maintain only some base processes that are shared by many projects that do not change their processes. You can develop the standard process somewhere else and if satisfied, you change the sharing to a new project area with the new process at a convenient point in time. There are by the way limitation with process sharing if the projects that share override parts of the process. See https://jazz.net/library/article/1005 for how sharing works.
Process sharing is also supported by RQM and RRC, however, there are differences (that I don't know in great detail) in how much is shared.

If you use sharing, the project areas that share need to use the unconfigured process. I am not completely sure how you would set up a lifecycle project administration template to use sharing. You can specify the process you want to use in the XML, but I don't think you can specify from which project are to share.

I would suggest to create RFE's or Enhancement requests for the API and the automation portion. I agree with Pradeep on the download of the template, but on the other hand I also think that bigger customers would need more API for automation of project area creation and management. So any gap identified is worthwhile, provided there s a clear description of the use case.

0 votes


Permanent link
I have some code that does the extract and parent change. This uses some internal apis, so I doubt you can do it with REST..

0 votes


Permanent link
Hi Ralph and Sam,

Thanks for your information. I think I'd better follow open standard REST API. Internal API is not a good way.

Thanks again and thanks to Ruby and Pradeep.

0 votes

1–15 items
page 1of 1 pagesof 2 pages

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
× 7,613
× 1,381

Question asked: Jun 17 '13, 10:33 p.m.

Question was seen: 15,150 times

Last updated: Jun 27 '13, 2:54 p.m.

Confirmation Cancel Confirm