ファイルシステムで Jira サーバーの添付ファイルを見つける

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問


プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

問題

Jira では、ファイルは画像などの添付ファイルがファイル システムに保管されます。このページでは、このファイル システム内で添付ファイルが格納される場所を説明します。

ソリューション

  1. 次の SQL クエリでは、PRG という名前のプロジェクト内にあるすべての添付ファイルの詳細を表示できます。

    select fa.id, fa.filename, ji.issuenum from fileattachment fa join jiraissue ji on ji.id = fa.issueid join project p on p.id = ji.project where p.pkey = 'PRG';

    次のような結果が得られます。

      id   |     filename     | issuenum
    -------+------------------+---------
     10100 | test.file.gliffy |       11
  2.  Using the issuenum (11), you can locate the file in the file system, at the path shown below :

    <JIRA_HOME>/data/attachments/<PROJECT>/<BUCKET>/<ISSUE_KEY>/<ID>

    (info) 'BUCKET' refers to which group of 10,000 items the file falls into. Since the issuenum is 11, it will be in the "10000" bucket.  (An issuenum between 1 and 10000 would be bucket 10000, whereas an issuenum between 10001 and 20000 would be in bucket 20000.)
    See JIRA 7.0.x platform release. Old format:

    <JIRA_HOME>/data/attachments/<PROJECT>/<ISSUE_KEY>/<ID>

    この例では次のようになります。

    /opt/atlassian/jira_home/data/attachments/PRG/10000/PRG-11/10100
     
    tree view for the same:
    PRG
    └── 10000
         └── PRG-11
              └── 10100

    また、次のようなクエリを使用して、特定の条件 (この場合は作成日) に基づき、システム上のファイルの場所を出力できます。/var/atlassian/application-data/jira の値を Jira のホーム ディレクトリ、または Jira Data Center の場合は共有ホーム ディレクトリを指すように変更します。

    PSQL シンタックス
    select
    	fa.id,
    	fa.filename,
    	p.pkey as project,
    	ji.issuenum,
    	concat('/var/atlassian/application-data/jira', '/data/attachments/', p.pkey, '/', ceiling((ji.issuenum / 10000))* 10000, '/', p.pkey, '-', ji.issuenum, '/', fa.id) as path,
    	concat('/var/atlassian/application-data/jira', '/data/attachments/', p.originalkey, '/', ceiling((ji.issuenum / 10000))* 10000, '/', p.originalkey, '-', ji.issuenum, '/', fa.id) as "path if project key was changed"
    from
    	fileattachment fa
    join jiraissue ji on
    	ji.id = fa.issueid
    join project p on
    	p.id = ji.project
    where
    	fa.created > '2017-04-20 13:45';

    次のような結果が得られます。

    (warning) Please note that in some cases the project key may have changed (moving from PRG1 to PRG2, for example). In this case the second "concat" in this query will be useful to find the correct path of those attachments.
  3.  id    |     filename     | project  | issuenum |path
    -------+------------------+----------+----------+-----------------------------------------------------------------------------
     10100 | test.file.gliffy |PRG       |       11 | /var/atlassian/application-data/jira/data/attachments/PRG/10000/PRG-11/10100

    Jira はプロジェクト キーが変更された場合であっても、添付ファイルを元のプロジェクト キーで保管します。このようなシナリオでは、元のプロジェクト キーを使う以下のクエリを利用できます。このクエリでは、「添付ファイルの設定」で説明されているサポート対象の添付ファイルのサムネイルのパスも提供されます。

    select fa.id,fa.filename, pkk.pkey as project, ji.issuenum, 
    concat('/var/atlassian/application-data/jira','/data/attachments/',pkk.pkey,'/', CEILING((ji.issuenum/10000))*10000,'/',  pkk.pkey, '-', ji.issuenum, '/', fa.id) as Path,
    case when fa.mimetype = 'image/png' OR fa.mimetype = 'image/gif' OR fa.mimetype = 'image/jpeg' then concat('/var/atlassian/application-data/jira','/data/attachments/',pkk.pkey,'/', CEILING((ji.issuenum/10000))*10000,'/',  pkk.pkey, '-', ji.issuenum, '/thumbs/_thumb_', fa.id, '.png') end as thumbnail
    from fileattachment fa 
    join jiraissue ji on ji.id= fa.issueid 
    join (
    	SELECT DISTINCT ON (project_id) project_key as pkey, project_id
    	FROM project_key
    	ORDER BY project_id,project_key desc) pkk
    on ji.project=pkk.project_id
    where fa.created > '2021-04-20 13:45';


    Jira 7.0 よりも前のスタイルでの添付ファイルのパスについては次のクエリを利用できます。

    PSQL シンタックス
    select fa.id, fa.filename, p.pkey as project, ji.issuenum, concat('/var/atlassian/application-data/jira', '/data/attachments/', p.pkey, '/', p.pkey, '-', ji.issuenum, '/', fa.id) as Path
    from fileattachment fa join jiraissue ji on ji.id = fa.issueid join project p on p.id = ji.project 
    where fa.created > '2017-04-20 13:45'

最終更新日 2023 年 9 月 29 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.