Отчеты
Что бы добавить отчеты на страницу проекта или доски, реализуйте класс ReportModule. Сам класс не реализует формирования отчета, а отвечает только за добавление его в список отчетов.
java
package ru.slie.luna.report.impl.issue;
import ru.slie.luna.agile.board.Board;
import ru.slie.luna.locale.I18nResolver;
import ru.slie.luna.project.Project;
import ru.slie.luna.report.ReportModule;
import ru.slie.luna.report.annotations.ReportModuleComponent;
import ru.slie.luna.report.category.ReportCategory;
import ru.slie.luna.report.category.ReportCategoryIssueAnalysis;
@Component
public class PieChartReportModule implements ReportModule {
private final I18nResolver i18n;
private final ReportCategoryIssueAnalysis categoryIssueAnalysis;
public PieChartReportModule(I18nResolver i18n, ReportCategoryIssueAnalysis categoryIssueAnalysis) {
this.i18n = i18n;
this.categoryIssueAnalysis = categoryIssueAnalysis;
}
@Override
public ReportCategory getCategory() {
return categoryIssueAnalysis;
}
@Override
public String getName() {
return i18n.getText("app.report.issue.pie_chart.name");
}
@Override
public String getDescription() {
return i18n.getText("app.report.issue.pie_chart.description");
}
@Override
public boolean isAvailableFor(Board board) {
return true;
}
@Override
public boolean isAvailableFor(Project project) {
return true;
}
}Инфо
Для реализации формирования отчета создайте отдельный rest-контроллер к которому будет обращаться ваш web-компонент.
Добавьте его в дескриптор
yaml
reportModules:
- key: PieChartReportModule
name: Pie chart report
className: ru.slie.luna.report.impl.issue.PieChartReportModule
webComponent:
path: frontend/PieChartReportView.js
weight: 100
thumbnailPath: images/pie_chart_report.png # Рекомендуется соотношение 16/9, например 512x288