是否在Bitbucket中查找非活动用户列表?

是否在Bitbucket中查找非活动用户列表?,bitbucket,bitbucket-server,Bitbucket,Bitbucket Server,我如何才能找到从未登录其Bitbucket帐户的用户列表?有任何查询或宏,或者我必须手动执行吗?您可以使用SQL查询数据库来执行此操作: SELECT cu.lower_user_name ,cu.display_name ,cu.lower_display_name ,cu.lower_email_address ,cu.is_active ,dateadd(second,cast(cast(cua.attribute_val

我如何才能找到从未登录其Bitbucket帐户的用户列表?有任何查询或宏,或者我必须手动执行吗?

您可以使用SQL查询数据库来执行此操作:

    SELECT cu.lower_user_name
      ,cu.display_name
      ,cu.lower_display_name
      ,cu.lower_email_address
      ,cu.is_active
      ,dateadd(second,cast(cast(cua.attribute_value AS nvarchar(255)) AS bigint)/1000,'19700101 00:00:00:000') AS LAST_LOGIN
  FROM [BitBucketDB].[dbo].[cwd_user] As cu
      LEFT JOIN [BitBucketDB].[dbo].cwd_membership AS cm
        ON cu.directory_id=cm.directory_id
        AND cu.lower_user_name=cm.lower_child_name
        AND cm.membership_type='GROUP_USER'

      LEFT JOIN [BitBucketDB].[dbo].cwd_user_attribute As cua
      ON cu.ID = cua.user_id and cua.attribute_name='lastAuthenticationTimestamp' 
      WHERE cm.lower_parent_name='stash-users' 

另请参阅有关主题的Atlassian知识库: 本质上,Bitbucket服务器和数据中心:

显示“管理”>“用户”下用户列表中最后一个已验证的列 提供RESTAPI来查询任何给定用户的最后一次身份验证日期

这是一个PostgreSQL的解决方案,注意你可能想考虑用户的创建日期,以排除昨天访问他们的人,并且没有登录。 一年未登录或从未登录但至少存在一年的用户:

select * from (SELECT distinct cu.lower_user_name
      ,to_timestamp(CAST(attribute_value AS BIGINT)/1000) AS last_login
      ,cu.created_date
FROM cwd_user As cu
      LEFT JOIN cwd_membership AS cm
        ON cu.directory_id=cm.directory_id
        AND cu.lower_user_name=cm.lower_child_name
        AND cm.membership_type='GROUP_USER'

      LEFT JOIN cwd_user_attribute As cua
          ON cu.ID = cua.user_id and
          cua.attribute_name='lastAuthenticationTimestamp'
      WHERE is_active = 'T'AND (cm.lower_parent_name='stash-users' OR
          cm.lower_parent_name='bitbucket-users'
      OR cm.lower_parent_name='stash' OR
          cm.lower_parent_name='bitbucket') ) q1
      where  (last_login < current_date - (365) or last_login is null)
      and created_date < current_date - (365);

谢谢。按要求工作。