チケット本文はこちら FessのデータストアクロールでRedmineのチケットを検索する を参考にしました。
チケットの返信のクロールも同じくデータストアからクロールします。
注意
スクリプトで指定する url はチケット本体と同じにしてはいけません
データストアのクロール設定
- ハンドラー名「DatabaseDataStore」を指定
パラメーター
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/bitnami_redmine?
useUnicode=true&characterEncoding=UTF-8
username=XXXXXX
password=XXXXXX
sql=select i.id as id, i.subject as subject, notes, j.id as jid, DATE_FORMAT(j.created_on,'%Y-%m-%dT%H:%i:%s.00Z') AS last_modified_dt, p.id as project_id from issues i, journals j , projects p Where i.id = j.journalized_id and i.project_id NOT IN(6,12,34,62,80,129) and j.notes != '' and p.id=i.project_id and p.status=1
- url=は環境に合わせてください
- チケットの返信(編集:コメント)は、Table journals の notes に入ってます
- 日付は created_on
- Notes が空ではないこと
- 特定のプロジェクトIDは除外
スクリプト
url="https://xxx.xx.xx.xx/redmine/issues/" + id + "#note-" +jid
host="https://xxx.xx.xx.xx/"
site="https://xxx.xx.xx.xx/redmine/issues/"
title="【Redmine - Ticket Reply】" + id + " : " +subject
content=notes
cache=notes
digest=notes
anchor=
content_length=content.length()
last_modified=last_modified_dt
timestamp=last_modified_dt
- timestamp に返信の作成日を指定します。
- jid は journal の id でチケットの返信番号とは異なります。
- (jid はかなり大きな値になります)
- 検索結果から飛ぶとチケットの頭から開きます。
注意:
- FESS のインデックスは、スクリプトの url= で指定する値に基づいて作成されていると思われる
- インデックスはユニークで重複は許されない
- インデックスが同じ値(文字列)になる場合、あとからクロールされた情報で上書きされる
- データストアのクロールで、Redmine チケットは
url="https://172.25.85.74/redmine/issues/" + id
として指定している。(id はチケット番号) - チケットへのリプライも同じ指定にしていると、直近にスケジュールされたクロール情報で上書きされてしまうことになる
- これを避けるためには url 指定を別のものにしなければならない
...