scriptrunner send rendered page body contents via email

Amir July 5, 2022

I want to define a job in Scriptrunner to send a rendered page body via email every day.

But I can't get page body rendered and set it to email body

Anyone can help me?

thanks

import com.atlassian.confluence.renderer.UserMacroLibrary
import com.atlassian.confluence.core.BodyContent
import com.atlassian.confluence.pages.PageManager
import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.mail.Email;
import com.atlassian.mail.server.SMTPMailServer;
import com.atlassian.confluence.mail.ConfluenceMailServerManager

def pageMangaer = ComponentLocator.getComponent(PageManager)
def bodyContent = ComponentLocator.getComponent(BodyContent)
def userMacroLibrary = ComponentLocator.getComponent(UserMacroLibrary)
def page = pageMangaer.getPage("SpaceKey","PageTitleORPageID")

def confluenceMailServerManager = ComponentLocator.getComponent(ConfluenceMailServerManager)
SMTPMailServer mailServer = confluenceMailServerManager.getDefaultSMTPMailServer();

if (mailServer) {
Email email = new Email("user@domain.com");
email.setSubject("PageTitle");
email.setBody(page);
mailServer.send(email);

} else {
throw new RuntimeException("no mail server!!!");
}

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events