こんにちは、テクマトリックスの村上です。
Redmine6.0へのバージョンアップを検討しており、Redmine5.1で利用できたサードパーティ製プラグインがRedmine6.0でも利用できるかを確認する機会があったので記載します。
※動作検証日:2025年2月14日
目次
きっかけ
Redmine6.0が2024年11月11日にリリースされ、Redmineの新機能が追加されています。新機能では、進捗率を5%単位で入力できるようになる機能や、デフォルトのテーマでサイドバーを表示・非表示できる機能があります。これらを利用するためにバージョンアップを検討しており、サードパーティ製プラグインも引き続き利用できるかを確認する必要がありました。
Redmineの環境情報
検証環境として利用したRedmineの環境情報は以下です。
Redmineのバージョン | Redmine6.0.3 | |
Ruby | 3.3.7 | |
DBの種類とバージョン | PostgreSQL 16.3 |
Redmine6.0に対応されているかをドキュメントで確認
GitHubで公開されているプラグインなどは、READMEやinit.rbファイル等で動作対象のRedmineのバージョンを記載している場合があります。プラグインのREADMEやコミット履歴のコメント等を確認し、Redmine6.0に対応しているかの確認をします。
【View Customize pluginの場合】
READMEのサポートバージョンに4.0.x以上と記載があります。また、Redmine6.0がリリースされた後にコミットもされていたため、対応していそうなことがわかります。


※プラグインによっては、laterと記載されていても対応していない場合がありますので、ご注意ください。
【Redmine Wiki Extensionsの場合】
init.rbに「requires_redmine :version_or_higher => ‘6.0.0’」と記載があるため、Redmine6.0以上にのみ対応していることがわかります。
Redmine::Plugin.register :redmine_wiki_extensions do
name 'Redmine Wiki Extensions plugin'
author 'Haruyuki Iida'
author_url 'http://twitter.com/haru_iida'
description 'This is a Wiki Extensions plugin for Redmine'
url 'http://www.r-labs.org/projects/r-labs/wiki/Wiki_Extensions_en'
version '1.0.1'
requires_redmine :version_or_higher => '6.0.0'
インストールできるかの確認
インストール方法はプラグインによって異なるため、各プラグインのREADMEを確認し、インストールをします。インストールに問題がなければ、Redmineが起動でき、管理者メニューのプラグイン一覧でインストールしたプラグインが表示されます。

インストールに問題がある場合は、インストール時のコマンド実行時やRedmineの起動に失敗します。
エラー例をご紹介します。
【Redmine Omniauth Samlのインストール時にbundle installコマンドを実行した際のエラー】
Because omniauth >= 1.3.0, < 1.3.1 depends on rack >= 1.0, < 2.0
and omniauth >= 1.2.1, < 1.3.0 depends on rack ~> 1.0,
omniauth >= 1.2.1, < 1.3.1 requires rack >= 1.0, < 2.0.
And because omniauth >= 1.3.1, < 1.4.3 depends on rack >= 1.0, < 3
and omniauth >= 1.4.3, < 2.1.0 depends on rack >= 1.6.2, < 3,
omniauth >= 1.2.1, < 2.1.0 requires rack >= 1.0, < 3.
And because every version of omniauth-saml-cespi depends on omniauth ~> 1.1
and Gemfile depends on rack >= 3.1.3,
every version of omniauth-saml-cespi requires omniauth >= 1.1, < 1.2.1.
So, because Gemfile depends on omniauth >= 1.2.2
and Gemfile depends on omniauth-saml-cespi ~> 1.3.1,
version solving has failed.
【Redmine Importerのインストール時にbundle exec rake redmine:plugins:migrateコマンドを実行した際のエラー】
/usr/src/redmine/plugins/redmine_importer/app/controllers/importer_controller.rb:10:in `<class:ImporterController>': undefined local variable or method `unloadable' for class ImporterController (NameError)
unloadable
^^^^^^^^^^
from /usr/src/redmine/plugins/redmine_importer/app/controllers/importer_controller.rb:9:in `<top (required)>'
from /usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
from /usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/core_ext/kernel.rb:26:in `require'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/cref.rb:60:in `const_get'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/cref.rb:60:in `get'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/loader/eager_load.rb:173:in `block in actual_eager_load_dir'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/loader/helpers.rb:47:in `block in ls'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/loader/helpers.rb:25:in `each'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/loader/helpers.rb:25:in `ls'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/loader/eager_load.rb:168:in `actual_eager_load_dir'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/loader/eager_load.rb:17:in `block (2 levels) in eager_load'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/loader/eager_load.rb:16:in `each'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/loader/eager_load.rb:16:in `block in eager_load'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/loader/eager_load.rb:10:in `synchronize'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/loader/eager_load.rb:10:in `eager_load'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/loader.rb:413:in `block in eager_load_all'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/loader.rb:411:in `each'
from /usr/local/bundle/gems/zeitwerk-2.7.1/lib/zeitwerk/loader.rb:411:in `eager_load_all'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/application/finisher.rb:80:in `block in <module:Finisher>'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in `instance_exec'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in `run'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/initializable.rb:61:in `block in run_initializers'
from /usr/local/lib/ruby/3.3.0/tsort.rb:231:in `block in tsort_each'
from /usr/local/lib/ruby/3.3.0/tsort.rb:353:in `block (2 levels) in each_strongly_connected_component'
from /usr/local/lib/ruby/3.3.0/tsort.rb:434:in `each_strongly_connected_component_from'
from /usr/local/lib/ruby/3.3.0/tsort.rb:352:in `block in each_strongly_connected_component'
from /usr/local/lib/ruby/3.3.0/tsort.rb:350:in `each'
from /usr/local/lib/ruby/3.3.0/tsort.rb:350:in `call'
from /usr/local/lib/ruby/3.3.0/tsort.rb:350:in `each_strongly_connected_component'
from /usr/local/lib/ruby/3.3.0/tsort.rb:229:in `tsort_each'
from /usr/local/lib/ruby/3.3.0/tsort.rb:208:in `tsort_each'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/initializable.rb:60:in `run_initializers'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/application.rb:435:in `initialize!'
from /usr/src/redmine/config/environment.rb:16:in `<top (required)>'
from config.ru:3:in `require_relative'
from config.ru:3:in `block (2 levels) in <top (required)>'
from /usr/local/bundle/gems/rack-3.1.9/lib/rack/builder.rb:108:in `eval'
from /usr/local/bundle/gems/rack-3.1.9/lib/rack/builder.rb:108:in `new_from_string'
from /usr/local/bundle/gems/rack-3.1.9/lib/rack/builder.rb:97:in `load_file'
from /usr/local/bundle/gems/rack-3.1.9/lib/rack/builder.rb:67:in `parse_file'
from /usr/local/bundle/gems/rackup-2.2.1/lib/rackup/server.rb:354:in `build_app_and_options_from_config'
from /usr/local/bundle/gems/rackup-2.2.1/lib/rackup/server.rb:263:in `app'
from /usr/local/bundle/gems/rackup-2.2.1/lib/rackup/server.rb:424:in `wrapped_app'
from /usr/local/bundle/gems/rackup-2.2.1/lib/rackup/server.rb:326:in `block in start'
from /usr/local/bundle/gems/rackup-2.2.1/lib/rackup/server.rb:382:in `handle_profiling'
from /usr/local/bundle/gems/rackup-2.2.1/lib/rackup/server.rb:325:in `start'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/commands/server/server_command.rb:38:in `start'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/commands/server/server_command.rb:145:in `block in perform'
from <internal:kernel>:90:in `tap'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/commands/server/server_command.rb:136:in `perform'
from /usr/local/bundle/gems/thor-1.3.2/lib/thor/command.rb:28:in `run'
from /usr/local/bundle/gems/thor-1.3.2/lib/thor/invocation.rb:127:in `invoke_command'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/command/base.rb:178:in `invoke_command'
from /usr/local/bundle/gems/thor-1.3.2/lib/thor.rb:538:in `dispatch'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/command/base.rb:73:in `perform'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/command.rb:71:in `block in invoke'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/command.rb:149:in `with_argv'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/command.rb:69:in `invoke'
from /usr/local/bundle/gems/railties-7.2.2.1/lib/rails/commands.rb:18:in `<top (required)>'
from /usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
from /usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
from bin/rails:4:in `<main>'
プラグインの動作確認
各プラグインのREADMEを参考に、プラグインが問題なく動作するかを確認します。プラグインによってはインストールだけで有効化されず、Redmine画面上で設定や有効化するものもありますので、ご注意ください。
【Redmine Absolute Dates pluginの場合】
インストールのみで有効化されるプラグインで、日付がyyyy/MM/dd形式で表示されているかの確認をしました。

動作したサードパーティ制プラグイン
以下に記載するサードパーティ制プラグインは、Redmine6.0でも利用できました。
プラグイン名 | バージョン | 用途 |
Redmine Auto Done 100% plugin | 1.0.0 | チケットが終了ステータスに変更された際、進捗率を自動で100%にする |
Redmine Banner plugin | 0.3.5 | バナーを表示する |
View Customize plugin | 3.5.2 | 任意の画面にHTML、CSS、Javascriptを埋め込む |
Redmine Absolute Dates plugin | 0.0.4 | チケットの日付をyyyy/MM/dd形式で表示する |
Redmine Theme Changer plugin | 0.7.0 | ユーザーごとにテーマを選択できる |
Redmine Wiki Extensions | 1.0.1 | Wiki画面でマクロを利用できる |
Redmine Issue Templates plugin | 1.1.2 | Redmineの画面上にHTML、CSS、Javascriptを埋め込む |
RedMica UI extension | 0.4.1 | 検索ボックス、バーンダウンチャート、添付ファイルのプレビューを利用できる |
Redmine Issues Panel plugin | 1.1.2 | チケットをステータス別に表示し、ドラッグ&ドロップで変更できる機能を利用できる |
Redmine message customize plugin | 1.1.0 | Redmineの画面上の文言を変更する |
動作しなかったサードパーティ制プラグイン
以下に記載するサードパーティ制プラグインは、Redmine6.0では利用できませんでした。
プラグイン名 | バージョン | 用途 |
Issue Importer | 1.2.2 | チケットのインポート機能を拡張する |
Redmine Issue Trash | 1.0.2 | 削除したチケットを管理する |
Redmine Slack | 0.2 | RedmineとSlackを連携する |
Redmine Work Time plugin | 0.4.1 | 工数管理の機能を拡張する |
Redmine Omniauth Saml | 0.0.1 | SAML認証を利用できる |
Redmine Microsoft Teams | 0.2.2 | RedmineとTeamsを連携する |
まとめ
Redmine6.0で動作するプラグインはありましたが、動作しないプラグインもいくつかありました。検証時点の最新バージョンで確認したため、今後、Redmine6.0に対応したバージョンがリリースされるかもしれません。Redmine6.0の利用を検討している方の参考になれば幸いです。