/*
* This script provides an example of how you can add a single macro to every page within a specified space
* All right, title and interest in this code snippet shall remain the exclusive intellectual property of Adaptavist Group Ltd and its affiliates. Customers with a valid ScriptRunner
* license shall be granted a non-exclusive, non-transferable, freely revocable right to use this code snippet only within their own instance of Atlassian products. This licensing notice cannot be removed
* or amended and must be included in any circumstances where the code snippet is shared by You or a third party."
*/
import com.atlassian.confluence.pages.PageManager
import com.atlassian.confluence.spaces.SpaceManager
import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.confluence.core.DefaultSaveContext
def spaceManager = ComponentLocator.getComponent(SpaceManager)
def pageManager = ComponentLocator.getComponent(PageManager)
def cheeseMacro = """<ac:structured-macro ac:name="cheese" ac:schema-version="1"/>"""
def targetSpace = spaceManager.getSpace('L1')
def spacePages = pageManager.getPages(targetSpace, true)
spacePages.each{ page ->
def oldVersion = page.clone() as Page
def pageBody = page.getBodyAsString()
pageBody = cheeseMacro + pageBody
page.setBodyAsString(pageBody)
pageManager.saveContentEntity(page, oldVersion,DefaultSaveContext.DEFAULT)
}
Comments (0)
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.