Redmineの構築
以下を参考に、docker上にRedmine,Redmine-db(mysql)を構築し、Redmine Backlogsプラグインを導入しました。
アジャイル開発を行う上で、非常に便利なプラグインですが、Redmineの2.X系しかサポートしておらず、4年以上更新がないため、一部Redmineのアプリケーションを修正しないと動作しないという問題がありました。
構築の参考:RedmineをDockerで建てる in Mac
Redmine3.XでRedmine Backlogsを運用する時の問題点
ある時、アジャイルなので、少しRedmine Backlogsの設定を改善しようと、いろいろ変更をかけてみようとしたところ、見えていたはずのバックログが突然、
「バックログが設定されていません。設定画面 管理 > プラグイン, からリンク 設定 をクリックして設定してください。フィールドを設定後、このページへ戻りツールを利用してください。」
となり、チケット操作も出来ない状態になりました。
実施した操作は、
「管理」「プラグイン」「Redmine Backlogsの設定」「適用」ボタンを押下した場合です。
(値を何も変更しなくても、「適用」を押すと事象が再現されます。)
未対応のバージョンでプラグインを使っているので、当然ではありますが、対処法を記しておきます。
原因
Redmine Backlogsのプラグインで使用している、settingsテーブルの「plugin_redmine_backlogs」のレコードの先頭にあった「:」が消えてしまうため。
対処
「:」入りのレコードを作る。
以下は、ほぼ初期設定にはなりますが、上記の方法で構築した場合の対処手順を記載します。
別環境で、同様の事象が起きている場合は、適宜読み替えてください。
mysqlコンテナにログイン
docker exec -it redmine_db /bin/bash
mysqlにログイン
mysql -u root -P
Enter password: PASSWORD
# パスワードは構築時に設定したもの
正常なレコードをインサート
INSERT INTO `settings` VALUES (2,'plugin_redmine_backlogs','---\n:story_trackers:\n- \'4\'\n:default_story_tracker: \'1\'\n:task_tracker: \'5\'\n:wiki_template: \'\'\n:show_redmine_std_header: enabled\n:scrum_stats_menu_position: top\n:story_points: \'1,2,3,5,8,13\'\n:new_story_position: bottom\n:story_follow_task_status: nil\n:story_close_status_id: \'0\'\n:points_burn_direction: down\n:burndown_print_width: \'\'\n:burndown_print_height: \'\'\n:show_burndown_in_sidebar: enabled\n:burndown_timezone: Etc/GMT-0\n:taskboard_card_order: story_follows_tasks\n:autorefresh_wait: \'1000\'\n:sprint_sort_order: asc\n:sharing_new_sprint_sharingmode: none\n','2018-05-07 11:50:22');
exit
exit
# idを2にしていますが、キーが被らないように新たなレコードを作成する
# 元の設定を活かしたい場合は、事前にセレクトしてインサート文を編集する
Redmineを再起動
docker restart redmine
以上。