Example scripts
To homepage
Confluence

Add Macro to the Bottom of Pages within Space.
App in script

ScriptRunner For Confluence
by Adaptavist
Compatibility

Confluence (7.15 - 8.6)

ScriptRunner For Confluence (7.10.0)
Language |
groovy
import com.atlassian.confluence.core.DefaultSaveContext
import com.atlassian.confluence.pages.Page
import com.atlassian.confluence.spaces.SpaceManager
import com.atlassian.confluence.pages.PageManager
import com.atlassian.sal.api.component.ComponentLocator
def spaceManager = ComponentLocator.getComponent(SpaceManager)
def pageManager = ComponentLocator.getComponent(PageManager)
def sourceSpace = 'TEST'
def space = spaceManager.getSpace(sourceSpace)
def macroStorage = """
<p class="auto-cursor-target">
<ac:structured-macro ac:macro-id="b1c3bc6c-53a1-4204-bfa9-03a6be0dc589" ac:name="rate" ac:schema-version="1"/>
</p>
"""
def pages = pageManager.getPages(space, true)
pages.each { page ->
def oldVersion = page.clone() as Page
def pageBody = page.bodyAsString
pageBody = pageBody + macroStorage
page.setBodyAsString(pageBody)
pageManager.saveContentEntity( page, oldVersion, DefaultSaveContext.DEFAULT )
// replace above with the below line if you would like to suppress notification.
// pageManager.saveContentEntity( page, DefaultSaveContext.SUPPRESS_NOTIFICATIONS )
}
Having an issue with this script?
Report it here