Does anyone know if a way to list all pages within a confluence space, but with Page IDs as well as page titles? Either via a plugin or something more complex such as a sql report? I know how to get individual page IDs but this is not what I am looking for. I want to generate a list of all pages showing the page ID as well as page title. Running confluence server 5.8.x
thanks
Hi Helen,
Here's a user macro that not only outputs all pages, but also does it in a tree so that you can see the relationships between the pages:
## @param SpaceKey:title=Space Key|type=string #set ( $spaceToDisplay = "" ) #set ( $spaceToDisplay = $spaceManager.getSpace($paramSpaceKey) ) #if ( !$paramSpaceKey ) #set ( $spaceToDisplay = $space ) #end #if ( $spaceToDisplay == "" ) <p> Space with key "$paramSpaceKey" not found. </p> #else <p> Pages in space $spaceToDisplay.key </p> #set ( $topLevelPages = $pageManager.getTopLevelPages($spaceToDisplay) ) <div> <ul> #foreach ( $topLevelPage in $topLevelPages ) <li> <a href="${req.contextPath}$topLevelPage.urlPath"> $topLevelPage.title </a> - $topLevelPage.id </li> #parseChildren($topLevelPage) #end </ul> </div> #end #macro(parseChildren $pageToParse) #set ( $pageChildren = $pageToParse.getChildren() ) #if ( $pageChildren != "[]" ) <ul> #foreach($childPage in $pageChildren) <li> <a href="${req.contextPath}$childPage.urlPath"> $childPage.title </a> - $childPage.id </li> #parseChildren($childPage) #end </ul> #end #end
If you put it on a page and don't choose any space key, it will do the current space. If you choose a space key, then it will search the space with that space key
You can use the Bob Swift Confluence Command Line Interface (CLI) add-on with this command to create CSV output with that information:
--action getPageList --space "yourspacekey" --outputFormat=2
You can also use the Bob Swift SQL for Confluence add-on (which comes in both Express and Pro editions) using a query like this (written using MySQL):
SELECT C.title, C.contentid, CONCAT('[',C.title, '|http://yourwiki.com/pages/editpage.action?pageId=',C.contentid,']') AS ViewURL FROM CONTENT C INNER JOIN SPACES S ON S.spaceid = C.spaceid WHERE S.spacekey = 'general' AND C.content_status = 'current' AND C.contenttype = 'PAGE' ORDER BY C.title
Note that the SQL add-on has the ability to automatically render its output in a table. If you want to render CLI output in a table, you will need the Bob Swift Advanced Tables for Confuence add-on.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.