Description
This describes how to add some standard text to the beginning or end of a bunch of Confluence pages. This assumes you have access to the Confluence database for running a read only query to select the pages that you are interested in updating.
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Tip | ||
---|---|---|
| ||
Test on a few pages first to make sure the result is what you want! |
Steps using version 2.6.0 or above
Construct a SQL query that selects the pages you are interested in. Test against your database.
...
select '--id ' || contentid from content where content.title like '%title 1%' and contenttype = 'PAGE' and content.spaceid = (select spaceid from spaces where spacekey = 'zconfluencecli2')
...
Put it all together in a single command:
No Format |
---|
confluence -a runFromSql --common "-a modifyPage --content \"before existing content\" " --database confluence-3.5.13 --driver postgresql --sql "select '--id ' || contentid from content where content.title like '%title 1%' and contenttype = 'PAGE' and content.spaceid = (select spaceid from spaces where spacekey = 'zconfluencecli2')"
|
Tip | |||||
---|---|---|---|---|---|
| |||||
--findReplace and/or --findReplaceRegex can be used to modify the contents with or without adding additional content. Watch out for unintended substitutions - choose your find string/regex carefully.
|
Tip | ||
---|---|---|
| ||
runFromPageList and runFromList or similar can also be used to accomplish similar things without SQL. |
Steps before version 2.6.0
...
Create a text file appendPage.txt similar to the following:
No Format | ||
---|---|---|
| ||
-a getPageSource --space @space@ --title "@title@" --file temp-page-source.txt
-a storePage --space @space@ --title "@title@" --file temp-page-source.txt --content "Stuff to add before current page. \n " --content2 " \n Stuff to add after current page."
|
The page content on storePage is determined by content (if provided), followed by file content (if provided), followed by content2 (if provided).
Construct a SQL query that selects the pages you are interested in. Test against your database.
...
select '--findReplace \"@title@:''' || content.title || ''',@space@:' || spaces.spacekey || '\"' from content, spaces where content.title like '%title 1%' and content.spaceid = spaces.spaceid"
...
Put it all together in a single command:
No Format |
---|
confluence -a runFromSql --common "-a run --file appendPage.txt" --database confluence-3.5.13 --driver postgresql --sql "select '--findReplace \"@title@:''' || content.title || ''',@space@:' || spaces.spacekey || '\"' from content, spaces where content.title like '%title 1%' and content.spaceid = spaces.spaceid"
|
...
title | Trouble with titles |
---|
...
Include Page | ||||
---|---|---|---|---|
|