使用 AtlassianRenderer 将 XHTML 转换为 JIRA 标记,反之亦然

问题描述 投票:0回答:1

我有一个与 Jira 集成的 Java 应用程序。集成意味着用户可以以应用程序格式创建问题,应用程序会将其传输到 Jira 服务器。反之亦然:用户首先可以在 Jira Server 上创建问题,然后将其转移到应用程序。

应用程序以 XHTML 形式保留问题描述。 Jira 将其保留在自己的标记中。所以我需要一个转换器。

我决定使用

com.atlassian.renderer:atlassian-renderer
库。 XHTML -> jira 转换非常简单:

private DefaultWysiwygConverter converter= new DefaultWysiwygConverter();
String jiraMarkup = converter.convertXHtmlToWikiMarkup(xhtmlString);

但反之亦然,转换非常复杂!我不能只打电话

String xhtmlString= converter.convertWikiMarkupToXHtml(newjiraMarkup);

DefaultWysiwygConverter
需要传递一个
WikiStyleRenderer
实例。该库不包含默认的
WikiStyleRenderer
实现。它有一个
V2RendererFacade
,但它的构造函数需要四个参数。它们中的每一个都是抽象,需要以某种方式实现等等......

public V2RendererFacade(RendererConfiguration rendererConfiguration, LinkRenderer defaultLinkRenderer, EmbeddedResourceRenderer defaultEmbeddedRenderer, Renderer renderer) {
        this.rendererConfiguration = rendererConfiguration;
        this.defaultLinkRenderer = defaultLinkRenderer;
        this.defaultEmbeddedRenderer = defaultEmbeddedRenderer;
        this.renderer = renderer;
    }

有什么简单直接的方法可以进行这种转换吗?有工作示例吗?

java xhtml jira confluence wiki-markup
1个回答
0
投票

这对我有用:

RendererManager rendererManager = ComponentAccessor.getComponent(RendererManager.class);
JiraRendererPlugin renderer = rendererManager.getRendererForType("atlassian-wiki-renderer");
String output = renderer.render(issue.getDescription(), issue.getIssueRenderContext());

来源:如何使用 Atlassian 原生 API 将 JIRA wiki 标记转换为 HTML?

© www.soinside.com 2019 - 2024. All rights reserved.