import com.atlassian.jira.component.ComponentAccessor;
import com.decadis.jira.xchart.api.util.DateUtils;
import com.decadis.jira.xchart.api.model.Period;
import com.decadis.jira.xchart.api.model.ChartData;
import com.decadis.jira.xchart.api.CountGroup;
import com.atlassian.greenhopper.service.rapid.view.RapidViewService;
import com.atlassian.greenhopper.service.rapid.RapidViewQueryService;
import com.atlassian.greenhopper.service.sprint.Sprint;
import org.apache.log4j.Logger;
def logger = Logger.getLogger("BoardPicker");
def data = chartBuilder.newDataCollector();
def rapidViewService = ComponentAccessor.getOSGiComponentInstanceOfType(RapidViewService.class);
def rapidViewQueryService = ComponentAccessor.getOSGiComponentInstanceOfType(RapidViewQueryService.class);
for (def boardId in BoardPicker)
{
def rapidView = rapidViewService.getRapidView(user, Long.parseLong(boardId)).getValue();
if (rapidView != null)
{
List<Sprint> sprints = rapidViewQueryService.getOpenSprintsAndBacklogProjects(user, rapidView).getValue().left();
for (Sprint sprint in sprints)
{
data.addValue(1, sprint.getName(), rapidView.getName());
}
}
}
data.fillMissingValues();
def chartData = chartBuilder.newChartData("Open Sprints")
chartData.setType("bar");
chartData.addCustomData("xLabel", "Boards");
chartBuilder.getChartUtil().transformResult(data, chartData, true);
return chartData; |