계정 접속 이력 확인

JIRA의 경우 계정 접속 이력이 DB에 저장 되지는 않고 사용자 객체로 속성을 저장한다. 다음 속성이 저장된다.

"lastAuthenticated"
"login.currentFailedCount"
"login.lastLoginMillis"
"login.previousLoginMillis"
"login.count"

이는 로그인 할 때마다 동적으로 업데이트되므로 기록에 별로 도움이 되지 않는다.

MS SQL 서버를 데이터베이스로 사용하고 Jira 7.*을 Jira 버전으로 사용하는 경우 아래의 SQL 쿼리를 사용하여 마지막 로그인, 이전 로그인 및 총 로그인 수를 포함한 전체 로그인 세부 정보를 얻을 수 있다.

 

SELECT d.directory_name AS "Directory", u.user_name AS "Username", DATEADD(second, cast(a.attribute_value as bigint)/1000,{d '1970-01-01'}) AS "Last Login", DATEADD(second, cast(b.attribute_value as bigint)/1000,{d '1970-01-01'}) AS "Previous login", c.attribute_value AS "Login_Counts" FROM [JIRASchema].cwd_user u JOIN (SELECT DISTINCT child_name FROM [JIRASchema].cwd_membership m JOIN [JIRASchema].licenserolesgroup gp ON m.parent_name = gp.GROUP_ID ) AS m ON m.child_name = u.user_name JOIN ( SELECT * FROM [JIRASchema].cwd_user_attributes ca WHERE attribute_name = 'login.lastLoginMillis' ) AS a ON a.user_id = u.ID JOIN ( SELECT * FROM [JIRASchema].cwd_user_attributes cb WHERE attribute_name = 'login.previousLoginMillis' ) AS b ON b.user_id = u.ID JOIN ( SELECT * FROM [JIRASchema].cwd_user_attributes cc WHERE attribute_name = 'login.count' ) AS c ON c.user_id = u.ID JOIN [JIRASchema].cwd_directory d ON u.directory_id = d.ID Order by cast(c.attribute_value as INT) desc;

참조

https://community.atlassian.com/t5/Jira-questions/I-need-to-get-login-history-of-all-users-from-database/qaq-p/441613

https://community.atlassian.com/t5/Answers-Developer-Questions/JIRA-is-it-possible-to-get-user-login-history/qaq-p/489043