Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Number of pages created per user in Confluence

Armon Tiongco March 3, 2014

Hello,

Is it possible to determine the total number of pages a user has created in Confluence for a particular space?

Thanks,

Armon

5 answers

1 vote
Bob Swift
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 3, 2014

There are SQL queries that can be modified to do this. statistics.txt from Site Statistics or some of the other information. For you specific request, look for this query:

select concat('[~', creator, ']') as "User", count(distinct CONTENT.title) as "Pages created" 
    from CONTENT 
    where creator IS NOT NULL 
    group by creator 
    order by "Pages created" desc

Martin James
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 19, 2016

This is exactly what I needed. Is there a way of being able to show the actual username or name of the person?

Chhaya Gadade April 2, 2019

Where should we run this SQL query.

Like Deleted user likes this
0 votes
Alexandr Marchenko
Contributor
August 28, 2019

Alternative way for confluence cloud with powershell:

 

$username = 'username@contoso.com'
$password = 'P@ssword'
$hostname = 'https://contoso.atlassian.net/wiki'

$headers = @{
'Accept' = 'application/json'
'Content-Type' = 'application/json'
'Authorization' = ("Basic {0}" -f ([Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username, $password)))))
}

$users = @()
$res = @{
_links = @{
next = '/rest/api/content?expand=version.by&limit=200'
}
}

while ($res._links.next) {
$res = Invoke-RestMethod -Uri ($hostname + $res._links.next) -Headers $headers
foreach ($x in $res.results) {
$users += New-Object PSObject -Property @{
user = $x.version.by.publicName
}
}
}

$users | Group-Object user | Sort-Object count -Descending | select count, name

Will give you number of posts by user

0 votes
Chase Seibert
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
February 8, 2018

If you only have API access, I wrote some code here to tabulate pages and edits by user.

https://github.com/chase-seibert/confluence-stats

0 votes
Martrice Denson June 19, 2014

I am trying to create a page that a user can come to and see only the pages that they have created. It looks like this script is close to what I need. Can you advise me on how I would add that script to a page. I have a template that the sales team will be creating pages, if they need to edit there page I want to create a page that will only show them conten that they have created. Would what you have above suit my needs?

0 votes
Matthew J. Horn
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 3, 2014

You can write a user macro to do this. I think the easiest way to approach the algorithm would be to iterate over each page and increment each user's count when you find a match for creator. User macros are great for this sort of one-off or highly configurable task.

If you've never written a user macro, start here:

https://confluence.atlassian.com/display/DOC/Writing+User+Macros

If we're talking 10s of thousands of pages, though, you'll want to use the SQL plugin and do a database query. Search the plugin exchange for that.

hth,

matt

Armon Tiongco March 3, 2014

Hello Matt,

Thank you for always taking your time to answer my question.

Yes - i was able to create simple user macros but nothing complicated yet.

Would you happen to have samples which covers the same idea?

Thanks,

Armon

Martin James
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 2, 2019

That depends.

If using a database such as MySQL, you could use a tool such as MySQL Workbench to pull stats from the database. 

This method won't work if using Confluence Cloud.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events