グループにユーザを追加するダイアログに、すべてをチェックするリンクを追加(Redmine View Customize Plugin)

Redmine Users のメーリングリストに流れていたので、View customizeで対応してみました。

対象ユーザー1000人弱のプロジェクトを設定したく、グループを1つ作り、そこに対象ユーザーを追加しようとしましたが、「すべて選択」みたいのができず、1000個弱をポチポチする必要がありそうです。

グループにユーザを追加するダイアログに、Check All、Uncheck Allのリンクを追加しています。

https://github.com/onozaty/redmine-view-customize-scripts/blob/master/examples/0048.add_check_all_link_to_add_user_to_group/result.gif?raw=true

コード内容は下記にまとめています。

カテゴリ毎にカスタムフィールドの表示/非表示を切り替える(Redmine View Customize Plugin)

下記の問い合わせがあって作ったサンプルです。

カテゴリ毎にカスタムフィールドの表示/非表示を切り替えます。

https://github.com/onozaty/redmine-view-customize-scripts/blob/master/examples/0047.change_visibility_of_custom_fields_by_categories/result.gif?raw=true

コード内容は下記にまとめています。

トラッカーに応じてカテゴリを絞り込む(Redmine View Customize Plugin)

下記の問い合わせがあって作ったサンプルです。

トラッカーに応じてカテゴリを絞り込みます。

https://github.com/onozaty/redmine-view-customize-scripts/blob/master/examples/0046.narrow_down_categories_according_to_tracker/result.gif?raw=true

コード内容は下記にまとめています。

The Redmine Award にノミネートしていただきました&今までの実績振り返り

The Redmine Award にノミネートしていただきました。

Redmineはオープンソースで提供されているWebベースのタスク・プロジェクト管理ツールです。
柔軟なカスタマイズが可能であり、活発なコミュニティ活動においては、単なるタスク・プロジェクト管理にとどまらず、様々な利用事例が報告されています。
他のオープンソースコミュニティと同様に、Redmineコミュニティの多くの参加者は、特に報酬なく、技術的興味や好奇心をモチベーションにして、Redmineやそのコミュニティの発展に貢献していただいています。
Redmineが継続して発展していくためには、このようなコミュニティの参加者の存在が不可欠です。
The Redmine Awardは、このような参加者を称えるため、ここ数年で顕著な活動実績や功績を有する「個人」を表彰するものです。
【締切2/20】The Redmine Award 一般投票OPEN! - connpass

ノミネート理由は下記になっています。

  • 人気プラグイン Redmine view coustomizeの開発、メンテナンス、ユーザサポートを実施
  • Redmine issue assign noticeプラグインや、Redmine issue loaderといったRedmine利用者をサポートするツールを開発

推薦者募集が先週までで終わり、今は一般投票の受付中(2022/2/20(日)23:59 まで)です。 結果はRedmine Japanというイベント(2022/2/25 (金))内で発表となります。

ノミネート理由にあるものを使っている方で、投票したい!ってかたはぜひ💦

で、実際自分にそんな実績あるかな、、ってことで、今までの活動を振り返ってみようと思います。

View customize プラグイン

View customizeプラグインは、条件に一致する画面に、JavaScript、CSS、HTMLを挿入することで、Redmineの画面をカスタマイズできるプラグインです。

2014年06月30日に公開したプラグインで、約8年間メンテナンスを続けてきました。
最新はv3.0.1で、今まで22回リリースされています。

そこまで複雑なプラグインでもなく、RailsやRuby初心者の自分でも作ってメンテナンスできているレベルのものです。
コードを書く上では、他の公開されているプラグインのソースから学んだりもできるので、Redmineのプラグイン開発自体、そこまで敷居の高いものではないかな、、と思っています。
ただ、Redmine本体のバージョンアップ(RailsやRubyのバージョンが上がるタイミング)で、プラグイン自体も動かなくなることが多いので、一度作れば後は何もしなくても大丈夫、、ってものでもありませんでした。

View customizeは、インストールしただけでは何も変わらず、コード(JavaScriptやCSS)を書くことでカスタマイズできるプラグインです。
そのため、JavaScriptやCSSを知らない人でも参考にしながらカスタマイズできるようにということで、サンプルコードを下記で公開しています。

昨年末あたりに今まで書いたサンプルを見直しました。

  • 不要となった(Redmine自体で実装されたなど)サンプルは削除
  • 最新のRedmineとView customizeにあわせてコード書き直し

現在は45個のサンプルを公開しています。 過去に書いた古いものや、Issueやメールでのフォローで書いたものを含めると、100はゆうに超えるのかなと思っています。

Issueで質問を受け付けて書き方などのフォローも続けています。
今までサンプルコードを書いたりサポートしたりした時間は、プラグインの開発、メンテナンスの時間の数倍になっているのではと思います。

Issue assign notice プラグイン

チケットの担当者に変更があったことを、SlackやRocket.Chat、Teams、Google Chat、Mattermost などに通知するプラグインです。

2020年12月9日に公開したプラグインです。まだ若いですが、個人的には必須のプラグインになっています。
最新はv2.1.0で、今まで7回リリースされています。

それぞれのチャットツールで、メッセージフォーマットやメンション方法が異なるため、その対応が面倒でしたが、メジャーなものには一通り対応できているかなと思います。
ちなみに私が利用しているのはRocket.Chatでした。Google Chatだけは、自分で試せる方法が無かったので、ユーザの方に試していただいております。

redmine-issue-loader

CSVファイルに記載された情報を読み込んで、Redmineにチケットとして登録、更新するツールです。
Javaで実装されています。

2018年12月15日に公開したプラグインです。 最新はv2.3.0で、今まで4回リリースされています。

発表

Redmine関連のイベントで数回発表させていただきました。
ほとんどが自分が作ったものの紹介になります。

おわりに

時々モチベーションが下がるようなときもありましたが、、どうにか続けてこれたのはいろんな方々のサポートがあったからだと思います。
今回のThe Redmine Awardへ推薦していただいた方にも、感謝しております。

引き続き無理の無い範囲で頑張ります。

長いテキストのカスタムフィールドをトラッカーの後に移動する(Redmine View Customize Plugin)

下記の問い合わせがあって作ったサンプルです。

他の形式のカスタムフィールドを移動するようなサンプルはすでにありましたが、長いテキストの場合、DOMの構成が変わってくるので、ちょっと違った書き方が必要でした。

https://github.com/onozaty/redmine-view-customize-scripts/raw/master/examples/0045.move_long_text_custom_field_to_after_description/after.png

コード内容は下記にまとめています。