我是JIRA World的新手,我的任务是开发一个显示图表(馅饼,直方图等)的JIRA插件。用户可以选择搜索条件和图表类型, 并且用户应该能够保存这些图表(Word / PDF)。
我不知道是否应该开发报告插件并使用JFreeChart绘制图表或开发图表插件(我还没有看到任何图表插件的例子)。我已经对报告插件做了一些研究,我还没有找到一个示例演示如何使用JFreechart!另外我还没有找到任何示例演示如何使用jasperReport(或其他工具)生成word或PDF报告。
用户应该从界面(管理,家庭等)
这样的标签访问插件要显示的KPI(关键绩效指标)示例:
PS:我正在使用JIRA 4.3.3
答案 0 :(得分:2)
有一个JIRA插件可以将图表导出到Word,它涵盖了您想要做的部分内容。 https://marketplace.atlassian.com/plugins/com.clariostechnology.officecharts.officecharts
另请参阅Intelligent Reporter,它提供了更多格式化图表的选项,并允许您将Word文件用作模板并填写图表和其他数据。
https://marketplace.atlassian.com/plugins/com.clariostechnology.intelligentreports
答案 1 :(得分:2)
尝试阅读伟大着作" Creating a pie chart in JIRA"中的文章JIRA 5.x Development Cookbook。作者:Jobin Kuruvilla。
最重要的是填充数据集,该数据集将用于生成所需的图表。考虑该书中的示例,该图显示了该插件的Java端:
public Chart generateChart(JiraAuthenticationContext authenticationContext, int width, int height) {
try {
final Map<String, Object> params = new HashMap<String, Object>();
// Create Dataset
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("One", 10L);
dataset.setValue("Two", 15L);
final ChartHelper helper = new PieChartGenerator(dataset, authenticationContext.getI18nHelper()).generateChart();
helper.generate(width, height);
params.put("chart", helper.getLocation());
params.put("chartDataset", dataset);
params.put("imagemap", helper.getImageMap());
params.put("imagemapName", helper.getImageMapName());
params.put("width", width);
params.put("height", height);
return new Chart(helper.getLocation(), helper.getImageMap(), helper.getImageMapName(), params);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("Error generating chart", e);
}
}
和用于此目的的速度模板:
#if ($chart)
#if ($imagemap)
$imagemap
#end
<p class="report-chart">
<img src='$baseurl/charts?filename=$chart' border='0' #if ($imagemap) usemap="\#$imagemapName" #end/>
</p>
#end
这是最基本的例子。另外,请查看ChartFactory和ChartUtils界面,以深入了解如何创建各种类型的图表。
答案 2 :(得分:1)
您不需要编写插件来执行此操作 - 这些是JIRA中的本机功能。如果你想写一个插件我会使用JFreeChart。请参阅JIRA Charting Plugin和JQL过滤器以获取两个列出的KPI。
答案 3 :(得分:1)
速度:
#set($cht = $chart)
#if ($cht)
#if ($cht.imageMap)
$cht.imageMap
#end
<p class="report-chart">
<img src='$baseurl/charts?filename=$chart.location' border='0'
#if ($cht.imageMap) usemap="\#$cht.imageMapName" #end/>
</p>
#end
webwork:
@SuppressWarnings("unused")
public Chart getChart() {
JiraAuthenticationContext authenticationContext = ComponentAccessor.getJiraAuthenticationContext();
final int CHART_WIDTH = 300;
final int CHART_HEIGHT = 300;
try {
final Map<String, Object> params = new HashMap<String, Object>();
// Create Dataset
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("One", 10L);
dataset.setValue("Two", 15L);
final I18nBean i18nBean = new I18nBean(authenticationContext.getUser().getDirectoryUser());
final ChartHelper helper = new PieChartGenerator(dataset, i18nBean).generateChart();
helper.generate(CHART_WIDTH, CHART_HEIGHT);
params.put("chart", helper.getLocation());
params.put("chartDataset", dataset);
params.put("imagemap", helper.getImageMap());
params.put("imagemapName", helper.getImageMapName());
params.put("width", CHART_WIDTH);
params.put("height", CHART_HEIGHT);
Chart ch = new Chart(helper.getLocation(), helper.getImageMapHtml(), helper.getImageMapName(), params);
return ch;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("Error generating chart", e);
}
}
结果:
答案 4 :(得分:0)
通过使用Better Excel Plugin 导出JIRA数据,在Excel中生成图表,从而为插件编程节省时间,同时为您提供令人难以置信的功能和灵活性的最佳选择。
它是如何运作的?
最终结果可能如下所示(在自己的工作表中):
答案 5 :(得分:-1)
请参阅本教程,了解绘制各种类型的图表以可视化JIRA数据:http://www.midori.hu/products/jira-pdf-view-plugin/documentation/charts
这里解释的技术依赖于在简洁的Groovy脚本中捕获自定义KPI计算逻辑,使用事实上的标准JFreeChart渲染图表,所有这些都由我们的JIRA PDF View插件支持。
(Discl:提到的插件是我们商业支持的软件。)