/
How to automate adding text to Confluence pages

How to automate adding text to Confluence pages

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.

Test carefully

Test on a few pages first to make sure the result is what you want!

Steps

  1. 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')
    
  2. Figure out the runFromSql parameters for accessing your database.
  3. Put it all together in a single command: 

    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')"
    

Use find and replace support to modify existing content

--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.

Example
--action modifyPage --id 12345678 --findReplace "xxx:yyy"


Alternatives

runFromPageList and runFromList or similar can also be used to accomplish similar things without SQL

Related content