ヤマムギ

growing hard days.

*

redmine_omniauth_googleプラグインをRedmine3.0.0で動くようにする

   


Redmine-Logo-CyberSprocket-Composite-300x300-png8 copy

redmine_omniauth_googleプラグインをインストールしたところ、エラーが発生。
Redmine3.0.0には対応していないらしい。
なので、Rubyの経験はなかったのですが、基礎は調べて対応してみました。
おかしなところは指摘してもらえたら嬉しいです。

修正後のプラグイン

元のプラグインをForkして修正しました。
https://github.com/yamamanx/redmine_omniauth_google

発生したエラー

app/controllers/redmine_oauth_controller.rb

上記のコードが「undefined method」で怒られるので最初はfind_or_initialize(email)にしたら「Unknown column ‘users.email’ in ‘where clause’:」となった。

Redmine3.0.0の新機能

  • 検索機能の改善 (高速化、未完了チケットのみ検索するオプション、添付ファイル名の検索)
  • トラッカーごとのデフォルトステータスの指定
  • ユーザーに複数のメールアドレスを登録
  • 添付ファイルの説明欄の編集
  • Rails 4.2 / Ruby 2.2 のサポート

主な機能は上記のとおりなので、「複数のメールアドレス登録」がひっかかってしまったのだろうと思いました。

コードの修正箇所

元のコード

app/controllers/redmine_oauth_controller.rb

修正方法

すでにユーザーが登録済かどうかをチェックするのに、メールアドレスを使用しているのを変えなければならない。
ログインIDをキーにすればいいのですが、ログインIDはメールアドレスのアカウント部分か、それが取れなければユーザ名になっている。
かつ、ユーザ名はユーザ名を半角スペースで分割したものか、取れなければ姓、名で対応している。
これらをUserオブジェクト生成前に持ってくればいいのだろうと思いました。

修正後のコード

app/controllers/redmine_oauth_controller.rb

もしかしたら「user.mail = info[“email”]」がひっかかるかと思ったのですが、これはカラムではなくてRedmineのユーザ登録画面のデフォルト値の設定だけのようなので、問題なかったです。

Redmine 認証設定値

redmine-auth-setting

  • 認証が必要
  • 自動ログイン : 1日
  • メールでアカウントを有効化
  • パスワードの最低文字数 : 8
  • 追加メールアドレスの上限 : 5
  • 有効期間の最大値 : 1日
  • 無操作タイムアウト : 4時間

最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

 - Google, ProjectManagement, Redmine ,

ad

ad

  関連記事

Redmine 3.0.0 のメールサーバーでGoogleApps SMTPサーバーを利用する

Redmineのメール通知サーバーとしてGoogleAppsを使用する方法です。 …

CentOS 6.5にRedmineをインストールするためにrubyをインストールする

とりあえずgitは入っている前提で [crayon-5d5c9eb9340e25 …

Redmine 3.0.0に CRMプラグインをインストールする

Redmine CRMプラグインのFreeのLightバージョンを使ってみる事に …

Google関連のAPIを試すためのGoogleSiteを作ってみました

目次 組み込み機能で出来る事は組み込み機能でで、そこで何をするかというと 組み込 …

「Cloud Vision Api & Tensorflow勉強会」に行ってきました

「Cloud Vision Api & Tensorflow勉強会」に行 …

RedmineにEasy Gantt プラグインをインストールしようとしたらRubyのバージョンが古いという事にひっかかったのでRubyもアップグレードした

RedmineにEasy Ganttプラグインをインストールしました。 標準のガ …

Backlogの実績工数をAmazon QuickSightでの可視化 – 仕組み編

Backlogの実績工数をAmazon QuickSightで可視化してわかった …

Redmine プラグイン開発チュートリアルをやってみる

Redmine 3.0環境でプラグインを作成するチュートリアルをやってみました。 …

Tracの外観をプラグインで変更する-TracpathThemeプラグイン

プラグインをインストールするだけで外観を変更する こんな感じのUIで5色(Red …

SourceTreeからgitサーバへSSHを使ってプッシュする

SSH URI gitのパスは/var/git/pj.gitとします。 [pla …