2
1
0

Jiraをオンプレで使用しています。

添付ファイルが増えて、サーバーのディスク使用量を圧迫しているようです。

課題ごとの添付ファイルサイズの統計を出したいと思うのですがいい方法はありませんか?

    Commentコメントを追加...

    1 回答

    1.  
      1
      0
      -1

      残念ながら製品標準で添付ファイルサイズを一覧化できないため(技術的にはREST APIを使うプログラムを書いて頑張る方法もあるかもしれませんがあまり現実的ではないかと…)

      基本的には、アドオンまたはSQL、OSのファイルシステムで集計する方法が考えられます。

      アドオンでは...

      例えば以下QAで紹介しているようなJiraのJava APIを使ってスクリプト(プログラム)が記述できる

      カスタムフィールドで添付ファイルの合計サイズをフィールドとして表示するとかですかね。

      具体的なスクリプトは https://community.atlassian.com/t5/Jira-Core-questions/Attachment-size-custom-field-JIRA/qaq-p/40065 とかを参考にしてください。


      ちなみに AMJ - Attachments Manager for Jira (ティック) 有償 だとファイルサイズを条件にするJQLが追加できるようです。

      SQLでは…

      PostgreSQL環境向けですが以下のようなSQLになります。

      課題ごと(課題に複数添付ファイルがある場合の合計サイズ)
      SELECT CONCAT(project.pkey,'-',jiraissue.issuenum) AS issuekey,CONCAT(project.originalkey,'-',jiraissue.issuenum) AS oldissuekey, SUM(filesize) AS sum FROM jiraissue,fileattachment,project WHERE fileattachment.issueid = jiraissue.id AND project.id = jiraissue.project GROUP BY issuekey,oldissuekey ORDER BY sum DESC LIMIT 20;
      添付ファイルごと
      SELECT CONCAT(project.pkey,'-',jiraissue.issuenum) AS issuekey,CONCAT(project.originalkey,'-',jiraissue.issuenum) AS oldissuekey,filename,filesize FROM jiraissue,fileattachment,project WHERE fileattachment.issueid = jiraissue.id AND project.id
       = jiraissue.project ORDER BY filesize DESC LIMIT 20;

      OSのファイルシステムでは...

      以下のようなロジックで添付ファイルがファイルシステムに格納されているのでシェルスクリプトで集計するとかですかね。

      但しプロジェクトキーを変更している場合、古いプロジェクトキーのままですし

      Jira7.0未満の添付ファイルはロジックが違ったり

      ファイル名がDBのファイルIDに置換されており(さらにJira5.x以前からバージョンアップしている場合、場合によってはファイル名のまま残っているのもあるかも?)

      環境によって注意が必要です。


      そのため単発作業でSQLが実行環境できるのであればSQLが手っ取り早いです。

        Commentコメントを追加...