Skip to content

Отчеты

Что бы добавить отчеты на страницу проекта или доски, реализуйте класс 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