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

Work Item Creation from Server Side Plugin.

Hi,

My requirement is that when changing the Status of a Particular Work item, I want to create a new work item in another project area.

I am using JAVA and I have to develop this functionality in SERVER SIDE PLUGIN

Any ideas / sample codes will help me .

Thanks.
Muthukumar.C

0 votes

Comments

Hey Muthu,


I've same requirement , where I need to create WI of type Task in different project area and copy summary and description fron current workItem.Could you please send me the sample code.

Thanks,
Nik 

Nik, I am not suppose to publish the code as per my company policy.
But i am sure that by reading all the previous discussion between me and sam, you can get a overview of the process.


Accepted answer

Permanent link
and this topic where I posted guidance too..

https://jazz.net/forums/viewtopic.php?t=25208&highlight=create+workitem
Ralph Schoon selected this answer as the correct answer

0 votes


11 other answers

Permanent link
here is how to find the category choices.. (all found by looking at the Javadoc)

IWorkItemCommon.findCategories(IProjectAreaHandle, ItemProfile, org.eclipse.core.runtime.IProgressMonitor)

to get the target iteration, you need to find them.. starting at project

IDevelopmentLineHandle getProjectDevelopmentLine()
then u can get the iterations from the development line
IIterationHandle[] getIterations()
then u can analyze the iterations and decide which one to pick

Sam

1 vote


Permanent link
This WiKi entry should get you started: https://jazz.net/wiki/bin/view/Main/ProgrammaticWorkItemCreation

I assume you have looked at the articles around Extending Team Concert and the Extensions workshop in https://jazz.net/library/ already.

0 votes


Permanent link
Ralph,

I am confused, The code in the mentioned link is Client side or server side.
I want to add code for creating TASK Work item in a different project area when changing a status of a work item to COMPLETED.

No need to get the repository parameters as I want to create WI in the same repository where the Plugin executes.

This should be done by Operation Participant. But I need just a algorithm at least.

Thanks

This WiKi entry should get you started: https://jazz.net/wiki/bin/view/Main/ProgrammaticWorkItemCreation

I assume you have looked at the articles around Extending Team Concert and the Extensions workshop in https://jazz.net/library/ already.

0 votes


Permanent link
Please look at "WorkItemOperation" and try if you can run that in the server in a precondition/followup action.
I have not created a work item in the server yet and thus I don't have other example code, but I would try this code.

0 votes


Permanent link
A quick search lead to

getService(IWorkItemServer.class).createWorkItem2(workItemType);

There are several references to createWorkItem2 in the SDK, that you could look at to understand how to use it.

0 votes


Permanent link
Hi,

When using the createWorkItem2 method, I have to assign the value for all mandatory fields before saving the work item.

But every time I am getting struck when assigning the values to fileds like Category and Planned For.

How to pass the values to this fields using workItem.setTarget and workItem.setCategory methods.

Now my total code look some thing like this

// TEST Creation of WorkItem

IProcessServerService processServerService = getService(IProcessServerService.class); ;
IWorkItemServer workItemServer = getService(IWorkItemServer.class);
IProjectArea projectArea = (IProjectArea)processServerService.findProcessArea("TAM Regression", null);
IWorkItemType workItemType = workItemServer.findCachedWorkItemType(projectArea, "Task");
IWorkItem workItem = workItemServer.createWorkItem2(workItemType);
// Set the Attributes of Task work item.
workItem.setHTMLSummary(SourceWI.getHTMLSummary());
ICategoryHandle FiledAgainst = ????;
workItem.setTarget(????);
workItem.setCategory(????);
workItemServer.saveWorkItem2(workItem, null, null);


and this topic where I posted guidance too..

https://jazz.net/forums/viewtopic.php?t=25208&highlight=create+workitem

									

0 votes


Permanent link
The Link ProgrammaticWorkItemCreation I sent before shows how to set the Categories. For Planned for you need to find the iteration.

0 votes


Permanent link
Thanks Sam.

I almost completed the Work Item creation. Once I deployed the plugin, Will give you the feedback tomorrow.



here is how to find the category choices.. (all found by looking at the Javadoc)

IWorkItemCommon.findCategories(IProjectAreaHandle, ItemProfile, org.eclipse.core.runtime.IProgressMonitor)

to get the target iteration, you need to find them.. starting at project

IDevelopmentLineHandle getProjectDevelopmentLine()
then u can get the iterations from the development line
IIterationHandle[] getIterations()
then u can analyze the iterations and decide which one to pick

Sam

0 votes


Permanent link
Sam

After some modification here and there in the above mentioned code, Work item is creating properly with the values supplied from the java.

Thanks!!!

0 votes

Comments

Hi All,

I have created the operationParticipant by using the createworkItem2() method. But after state change of workitem It is not generating workitem automatically. Here is my code :

if (state.equals(Inprogress))
                                {
                                
                                IProcessServerService processServerService = getService(IProcessServerService.class); ;

                                IWorkItemServer workItemServer =(IWorkItemServer) getService(IWorkItemServer.class);

                               

String Pa = newWorkItem.getProjectArea().toString();
                                IProjectArea projectArea = (IProjectArea)processServerService.findProcessArea(Pa, null);
                                
                                String WItype = newWorkItem.getWorkItemType();
                                
                              
                               

IWorkItemType workItemType = workItemServer.findCachedWorkItemType(projectArea, WItype);

                                IWorkItem workItem = workItemServer.createWorkItem2(workItemType);

                                // Set the Attributes of Task work item.

                                workItem.setHTMLSummary(XMLString.createFromPlainText("Automatic WI"));

workItem.setOwner(newWorkItem.getOwner());                               
                                workItem.setCategory(newWorkItem.getCategory());           
                                workItem.setTarget(newWorkItem.getTarget());

                                workItemServer.saveWorkItem3(workItem, null, null, null);
                                
                                }

Is it necessary to insert ui part for creation...or the create work item() itself creates the workitem automatically in the repository?


Thanks,
Dnyanesh

No need for UI part. You have to use the CreateWorkItem method to create work item. Pass the values for that work item and calling the SaveWrokItem2 method is only required. 

showing 5 of 7 show 2 more comments
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
× 10,937
× 369

Question asked: May 29 '12, 3:29 a.m.

Question was seen: 10,604 times

Last updated: Feb 14 '13, 5:15 a.m.

Confirmation Cancel Confirm