I'm modifying a macro that lists all the users on Confluence, but I'd like to be able to evaluate whether the user last logged in 6 months ago. I wanted to know how I could a) get the date 6 months ago 'today' and b) evaluate whether the last login date is farther than 6 months before it.
Here's what you can use:
First you have set a variable for how long ago you want to test for in seconds. For example, 180 days in seconds is 15,552,000 seconds. So:
#set ($t1 = 15552000)
Then you have to get the current UNIX time.
#set ($t2 = $content.currentDate.time)
Then you need the time that you want to check. In this example, I am finding the date the user last logged in (note that these are arbitrary method and class names).
#set ($t3 = $loginManager.getLoginInfo($user).lastSuccessfulLoginDate.time)
Finally, you just need to do some maths.
#set ($t4 = $t2-$t3) #if ($t4 > $t1) <p>They haven't logged in over 6 months!</p> #else <p>Leave them be!</p> #end
I haven't tested this yet but it should work.
It does work but it has to be part of a larger #foreach loop. $loginManager needs to be defined, as does $user. For example, see https://answers.atlassian.com/questions/33385/macro-that-produces-a-list-of-users-last-login-date
Hey Atlassian Community! Today we are launching a bunch of customer stories about the amazing work teams, like Dropbox and Twilio, are doing with Jira. You can check out the stories here. The thi...
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG