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.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.