
net.nemerosa.ontrack.extension.issues.export.HTMLIssueExportService.groovy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ontrack-extension-issues Show documentation
Show all versions of ontrack-extension-issues Show documentation
Ontrack module: ontrack-extension-issues
package net.nemerosa.ontrack.extension.issues.export
import net.nemerosa.ontrack.extension.issues.IssueServiceExtension
import net.nemerosa.ontrack.extension.issues.model.Issue
import net.nemerosa.ontrack.extension.issues.model.IssueServiceConfiguration
import org.springframework.stereotype.Component
import static org.apache.commons.lang3.StringEscapeUtils.escapeHtml4
@Component
class HTMLIssueExportService extends AbstractTextIssueExportService {
HTMLIssueExportService() {
super(ExportFormat.HTML)
}
@Override
void exportAsText(IssueServiceExtension issueServiceExtension, IssueServiceConfiguration issueServiceConfiguration, Map> groupedIssues, StringBuilder s) {
groupedIssues.each { groupName, issues ->
// One section per group
s << '\n'
// Group header
if (groupName) {
s << " ${escapeHtml4(groupName)}
\n"
}
// List of issues
s << ' \n'
issues.each { issue ->
s << " - \n"
s << """ ${escapeHtml4(issue.displayKey)} ${escapeHtml4(issue.summary)}\n"""
s << "
\n"
}
s << '
\n'
// Closing the group section
s << ' \n'
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy