This Confluence Cloud macro fetches all content properties from the current page or a user-defined page ID using the REST API v2 properties endpoint with automatic pagination through _links.next. It stores every returned property, formats the property creation date into a readable lozenge using DateUtils, fetches author details by accountId to display avatar and name, and renders everything inside an AUI sortable table with numeration, property key, raw JSON value, created date, and author information.
## Resolve page ID
#set($targetPageId = $page.id)
#if($parameters.pageID && $parameters.pageID != "")
#set($targetPageId = $parameters.pageID)
#end
#set ($baseUrl = $StringUtils.replace($baseUrl,"/wiki",""))
## Set storage
#set($allProps = [])
#set($propEndpoint = "/wiki/api/v2/pages/${targetPageId}/properties?limit=250")
#set($continueProps = true)
## Collect all properties with pagination
#foreach($x in [1..50])
#if($continueProps)
#set($propResp = $ConfluenceManager.get($propEndpoint))
#if($propResp.results)
#foreach($pr in $propResp.results)
#set($discard = $allProps.add($pr))
#end
#end
#if($propResp._links && $propResp._links.next && $propResp._links.next != "")
#set($propEndpoint = $propResp._links.next)
#else
#set($continueProps = false)
#end
#end
#end
## Handle empty state
#if($allProps.size() == 0)
<div>No content properties found for this page.</div>
#stop
#end
#set($apiDateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
## Render sortable table
<table class="aui aui-table-sortable" style="width:100%;">
<thead>
<tr>
<th style="width:5%;">#</th>
<th style="width:20%;">Property Key</th>
<th style="width:45%;">Property Value</th>
<th style="width:15%;">Date Created</th>
<th style="width:15%;">Author</th>
</tr>
</thead>
<tbody>
#set($rowNum = 1)
#foreach($prop in $allProps)
## Parse property metadata
#set($propKey = $prop.key)
#set($propValue = $prop.value)
#set($createdAtRaw = $prop.version.createdAt)
#set($authorId = $prop.version.authorId)
## Format date
#set($createdDate = $DateUtils.parseDate($createdAtRaw, $apiDateFormat))
## Fetch author info
#set($author = $ConfluenceManager.get("/wiki/rest/api/user?accountId=${authorId}"))
<tr>
<td>$rowNum</td>
<td>
<code>$propKey</code>
</td>
<td style="word-break:break-word;">
<pre style="white-space:pre-wrap; margin:0;">$propValue</pre>
</td>
<td>
<span class="aui-lozenge aui-lozenge-subtle">
$createdDate
</span>
</td>
<td>
<span class="aui-avatar aui-avatar-small">
<span class="aui-avatar-inner">
<img src="$baseUrl$author.profilePicture.path" alt="$author.displayName"/>
</span>
</span>
<span style="margin-left:6px;">$author.displayName</span>
</td>
</tr>
#set($rowNum = $rowNum + 1)
#end
</tbody>
</table>An overview of all pages within one space which contains the title, the version, and the last updated date
Space Information macro by space Id
Display page edit and view restrictions in Confluence to get essential permission details, including users, groups, and inherited access.
This macro allows user to retrieve all pages from current space despite limitation of 250 pages per request
Show an expandable page tree for a selected parent page (defaults to the current page)
Read and display the fixed version of Confluence pages by checking page or ancestor labels
Find image within page attachments. Handy for reuse files and update them all at once
Display a custom list of recently updated content
Shows page creation date
Basic greeting for user