How to get the workitems from iteration or how to filter out the workitems so that it belongs to a particular iteration?
i am able to fetch only 100 workitems but i am not able to fetch all the latest workitems..also i cannot get the contributors as well as target name.it always appears in the form of object.
i have used the below code:
IProcessItemService processItemService = (IProcessItemService)repository.getClientLibrary(IProcessItemService.class);
List<IProjectArea> projectArea = processItemService.findAllProjectAreas(null, null);
Iterator<IProjectArea> iter = projectArea.iterator();
IQueryResult<IResolvedResult<IWorkItem>> results;
IWorkItemClient workItemClient = (IWorkItemClient)repository.getClientLibrary(IWorkItemClient.class);
IQueryClient queryClient = workItemClient.getQueryClient();
IAuditableClient auditableClient = (IAuditableClient)repository.getClientLibrary(IAuditableClient.class);
while(iter.hasNext()){
IProjectArea area = (IProjectArea)iter.next();
IQueryableAttribute attribute = QueryableAttributes.getFactory(IWorkItem.ITEM_TYPE).findAttribute(area, IWorkItem.PROJECT_AREA_PROPERTY, auditableClient, null);
// Get the CurrentIeration
Expression expression = new AttributeExpression(attribute, AttributeOperation.EQUALS, area);
int sizeLimit = 250;
//queryClient.getResolvedExpressionResults(area, expression, IWorkItem.FULL_PROFILE).setLimit(sizeLimit);
IQueryResult<IResolvedResult<IWorkItem>> results1 = queryClient.getResolvedExpressionResults(area, expression, IWorkItem.FULL_PROFILE);
/// UnResolved Items
results1.setLimit(Integer.MAX_VALUE);
//results.setLimit(Integer.MAX_VALUE);
List<IResolvedResult<IWorkItem>> page = results1.nextPage(null);
results1.setPageSize(250);
Iterator<IResolvedResult<IWorkItem>> iterResult = page.iterator();
while(iterResult.hasNext()){
IResolvedResult<IWorkItem> resolvedResult = iterResult.next();
IWorkItem workItem = resolvedResult.getItem();
if(area.getName().equals("XXXX"))
{
System.out.println("Project Area: " + area.getName() + " ID: " + workItem.getId() + " Name: " + workItem.getHTMLSummary() + "Description:" +workItem.getDuration());
System.out.println(workItem.getHTMLDescription()+ " Owner :"+workItem.getOwner());
IIterationHandle iterationHandle = workItem.getTarget();
/IContributorHandle ct=workItem.getOwner();
for (IIterationHandle handle :results1.){
IAttribute currentAttribute= (IAttribute) handle;
IContributor contributor = (IContributor) repository.itemManager()
.fetchCompleteItem(handle, IItemManager.DEFAULT, null);
String userID=contributor.getUserId(); }
/
System.out.println(" WorkItem Target Area: " + workItem.getTarget());
List<?>history=
repository.itemManager().fetchAllStateHandles((IAuditableHandle)workItem.getStateHandle(), null);
if(history.size() == 0){
continue;
}
}
else
{
break;
}
can u citte me what am i doing wrong.Also i cannot resize the results.
Please help me.
|
One answer
Ralph Schoon (63.5k●3●36●46)
| answered Jun 14 '17, 8:54 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER This is how the expression would look like: URI uri = URI.create(projectAreaName.replaceAll(" ", "%20")); IProjectArea projectArea = (IProjectArea) processClient .findProcessArea(uri, null, null); if (projectArea == null) { System.out.println("Project area not found."); return false; }the development line helper to find an iteration from a string representation encoded as path relative to the timeline like e.g. "Main Development/Release 1.0/Sprint 2" can be found in https://rsjazz.wordpress.com/2015/06/11/creating-plans-with-the-plain-java-client-api/ or the work item command line on said blog. |
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.