Hi,
One of our customer requirement is to update the JIRA issue description value over the confluence page.
To get it done I implemented following solution with help of #ScriptRunner plugin.
Below is the Sample code to convert WIKI data into storage format. Written in script console.
import com.atlassian.confluence.content.render.xhtml.ConversionContext
import com.atlassian.confluence.content.render.xhtml.DefaultConversionContext
import com.atlassian.confluence.xhtml.api.XhtmlContent
import com.atlassian.confluence.pages.Page
import com.atlassian.confluence.core.DefaultSaveContext
import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.confluence.pages.PageManager
import org.apache.commons.lang.StringUtils
import com.atlassian.confluence.core.ContentEntityObject
PageManager pagemanager = ComponentLocator.getComponent(PageManager);
XhtmlContent xhtmlContent = ComponentLocator.getComponent(XhtmlContent);
try{
Page page = pagemanager.getPage(75990487);
ContentEntityObject contentEntityObject = page.getBodyContent().getContent();
final List<RuntimeException> wikiMarkupToStorageConversionErrors = new ArrayList();
final ConversionContext conversionContext = new DefaultConversionContext(page.toPageContext())
String jiraText = "Hi\r\n\r\n \r\n\r\nThis is +created+ for{color:#de350b}[SolutionBook|https://solutionbook.xxxx.com/]{color} testing purpose. _Please ignore._ \r\n||*JIRA*||Confluence||\r\n|Test|Best|\r\n\r\n \r\n :)\r\n * 1\r\n * 2\r\n * 3\r\n\r\n-Test-\r\n{code:java}\r\n{java code}{code}\r\n{panel}\r\n*Panel Header*\r\n\r\nPanel Text\r\n{panel}\r\n{noformat}\r\n*no* further _formatting_ is done here{noformat}\r\naksdfhasdf"
String jiradata = xhtmlContent.convertWikiToStorage(jiraText,conversionContext,wikiMarkupToStorageConversionErrors)
String pageBody = page.getBodyAsString()
pageBody = pageBody.replace("suresh",jiradata);
page.setBodyAsString(pageBody);
pagemanager.saveContentEntity(page,null);
return "pageBodyStr"
}catch(e){
log.error("Something went wrong whilw updating toc parameter:"+e.getMessage());
}
Suresh Sakhare
Software Engineer
Red Hat India
Pune,INDIA
6 accepted answers
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
0 comments