4
3
2

おせわになっております。

JIRA管理者の仕事をしております。

ユーザが(仮)30日以上、JIRAにログインしていないと自動で非アカウント設定に

処理されるなどの機能はありますでしょうか?

もしくは、(仮)30日以上、JIRAにログインしていないユーザでフィルタを

かけることはできますでしょうか?


ライセンスを消費するのがもったいないため、上記のような処理を行い定期的にメンテしたいと考えております。

みなさんの会社では、小まめにユーザ管理をしておりますでしょうか?


    Commentコメントを追加...

    3 回答

    1.  
      5
      4
      3

      JIRAの標準ではそんな機能は無かったような・・・


      私たちの環境では、月一でJIRA/Confluenceのログイン履歴をデータベースで確認して、両方3カ月以上ログインしていないユーザーは手動で無効化するようにしています。

      https://www.ricksoft.jp/qa/questions/5996980/jiraconfluence%E3%81%AE%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E5%B1%A5%E6%AD%B4%E3%82%92db%E3%81%8B%E3%82%89%E5%8F%96%E5%BE%97%E3%81%97%E3%81%9F%E3%81%84
      こちらのページを参考に、下記の様なSQLを作って実行してます(尚PostgresSQLでの構文です。他のDBだと変わってくるかもしれませんので参考程度に・・・)

      JIRA 長期未使用者一覧
      SELECT cwd_user.user_name ,
      cwd_user.email_address ,
      to_char(to_timestamp(CAST(cwd_user_attributes.attribute_value as bigint)/1000), 'yyyy-mm-dd hh24:mi:ss') AS lastlogin
      FROM cwd_user, cwd_user_attributes
      WHERE cwd_user_attributes.user_id = cwd_user.id
      AND cwd_user_attributes.attribute_name = 'login.lastLoginMillis'
      and to_timestamp(CAST(cwd_user_attributes.attribute_value as bigint)/1000) < TIMESTAMP 'now' -interval '3 month'
      and cwd_user.active = '1'
      ORDER BY lastlogin DESC
      JIRA 1回もログインしたことがないユーザー一覧
      select user_name,email_address,created_date
      from cwd_user
      where user_name in
      (select user_name
      from cwd_user
      where active = '1'
      except
      SELECT cwd_user.user_name
      FROM cwd_user, cwd_user_attributes
      WHERE cwd_user_attributes.user_id = cwd_user.id
      AND (cwd_user_attributes.attribute_name = 'login.lastLoginMillis'
      or cwd_user.created_date > timestamp 'now'-interval'3month')
      and cwd_user.active='1')
      order by created_date desc


      もし長期未使用ユーザーを自動的に無効化したいのであれば、上記のような条件で(期間はお好みで)引っかかったcwd_userテーブルのレコードのactive列を0にするようなSQLをWindowsならbatファイル、Linuxならシェルに書いてそれぞれタスクスケジューラ、cronで定期的に実行するというやり方はできるかなと思います。
      cwd_userテーブルのactive列だけでいいのかはちょっと自信がないので、詳しい方いらっしゃれば補足お願いします。


      尚、ひょっとしたら素敵なアドオンが存在するかもしれませんが、私はアドオンの事は詳しくないので、こちらの紹介はできません・・・

      1. ayn

        蒼龍さん

        ご回答ありがとうございます。


        未だJIRA事態を使い始めたばかりで、

        SQLの使い方も把握できておりません・・・(+o+)

        後程、上記の方法を試みてみたいと思います!

        ありがとうございました。

      2. 蒼龍

        SQLには不慣れでしたか・・・
        調べていただいたらわかるかもしれませんが、SQLというのは、データベースを操作するための文章の事です。

        JIRA/Confluenceもデータベースを使っているので、データベースから情報を引っ張ろうという話なのですが、いきなりSQLの話が出てきて、わかりづらかったですねw
        すみません・・・・・

        この方法を試すのは、データベースの扱いにある程度慣れてバックアップとかを取れるようになってからにすることを強く推奨します。頑張ってくださいね!

      3. ayn

        ありがとうございます。

        いえいえ、大変勉強になり感謝しております。

        まだ不慣れなので、少しずつ慣れていきます。


        色々とご丁寧に教えていただきありがとうございました。

      4. 樋口晃

        ayn さん

        すいませんが、RickCloudでは ユーザーの方がSQLを発行してデータを検索する事ができません。代替案としてREST APIが有りまして、こちらで色々な情報を取得可能です。

        ですが、残念な事に最後にログインした日付を REST API 経由では取得する事ができません。対応して下さいという要望は出ているのですが、まだ実現されていません。

          https://jira.atlassian.com/browse/JRASERVER-43782

        今のところは、 Kengo Ohsaki さんが紹介してくれたアドオンを評価してみるのが良いかと思います。

        よろしくお願いします。


      5. ayn

        樋口晃

        ご回答ありがとうございます。

         REST API というのもあるのですね。後程どんなものか調べてみます。


        はい、まずはアドオンで実現可能かどうか検証してみます。

        ありがとうございました。

      Commentコメントを追加...
    2.  
      4
      3
      2

      ちなみに

      ユーザが(仮)30日以上、JIRAにログインしていないと自動で非アカウント設定に

      処理されるなどの機能はありますでしょうか?

      もしくは、(仮)30日以上、JIRAにログインしていないユーザでフィルタを

      かけることはできますでしょうか?

      どちらも標準機能ではないですね。

      Atlasssian Cloud(*.atlassian.netのドメイン) 環境ですとエクスポート機能とかはりますかね。

      オンプレ環境(Jira Server/Jira DataCenter)ですと、上記のようなエクスポート機能もありません。

      管理画面のユーザーを選択して一つ一つクリックしていけば、ログインの情報は見れますけどね…ユーザーが数百人になったらもう現実的には無理でしょうね。


      ライセンスを消費するのがもったいないため、上記のような処理を行い定期的にメンテしたいと考えております。

      みなさんの会社では、小まめにユーザ管理をしておりますでしょうか?

      ケースバイケースかとは思いますが

      大規模なケースであれば、Active DirectoryやSAMLを使って外部ディレクトリと同期することで、アカウント管理はそちら側で集中管理した利するケースが多いかと思います。

      ※ この場合はどちらかと言うと入社・入場・離職 手続きでアカウントが付与されて、勝手に使用できる・できなくなるだけで、必ずしもJiraやConfluenceのアプリケーションを日々日常使ってないから使用可能者から外す(ライセンス消費者から外す)とは違いますけどね。

      全社など大規模で共通ツールとして使用するわけでもなく、限られたメンバーやライセンスも限られているケースだと蒼龍-san紹介している通り、DBから定期的に取得してバッチ処理で無効化したり・手動でしたりするケースが多いかと思います。

      DB処理はSQLがわかったり、プログラムが組めると便利ではありますが

      技術者以外だと難しい場合もあるので、酒井 祐輔-san 紹介している JIRAでユーザーの棚卸をしたい でも紹介したアドオンなどを利用してみる場合もあるかと思います。

      関連QA

      1. ayn

        Kengo Ohsaki

        ご回答ありがとうございます。

        当社は、リックソフト様の提供するリッククラウドを利用してJIRAを利用しておりますので

        ご提案頂いたAtlasssian Cloudでのエクスポートは使用できません・・・。


        まずはアドオンを使用して実現したいことが可能か試してみたいと思います。

        ご意見ありがとうございました!!

      2. Kengo Ohsaki

        ayn-san,

        RickCloudでしたか。SQLは基本的に不可ですね…別途個別対応してくるかもしれませんが費用はかかりそうなので、アドオンですかね。

        また何かあればお気軽にご連絡ください。


      3. ayn

        @Kengo Ohsaki さん

        ご丁寧に対応頂きありがとうございました!!

        はい、また何かありましたらお問い合わせさせていただきます♪

        よろしくお願いいたします。

      Commentコメントを追加...
    3.  
      4
      3
      2

      サクッとマーケットプレイスを探してみたところ以下のようなアドオンがありました。

      https://marketplace.atlassian.com/plugins/com.riadalabs.jira.plugins.userdeactivator/server/overview

      評価も可能なようです。

      なお、SQLで対応できるのはオンプレ版のみになるかと思います。

      1. ayn

        酒井 祐輔

        ご回答ありがとうございます。

        頂いたアドオンをまずは試してみようと思います。


        SQLについてクラウドではできない点についても承知しました。


      Commentコメントを追加...