私が過去にRedmineに投稿したパッチを振り返ってみる


My Redmine

今回のブログ担当は石川です。ふと振り返ってみると、ファーエンドテクノロジーに入社したのが2016年なので7年6ヶ月くらいは今の会社で働いているということになります。こう数字で見るととても長く感じますね。

業務としては社内システムの開発・運用、オープンソースのプロジェクト管理ツール Redmineの開発、Redmineプラグイン・テーマの開発、を中心に行ってきました。今回のブログではその中でもRedmineの開発について振り返ってみようと思います。

Redmineのgit logのうち私の名前が載っているコミットがいくつあるかを調べると、182件ありました。今日はこれらのコミットの内、印象深いいくつかについて振り返ります。

Patch #5957 Export users list to CSV

https://redmine.org/issues/5957

ユーザー一覧のCSVを出力する機能を追加するパッチです。

内容よりも、はじめて投稿したパッチということで印象深いです。2017/6/22にパッチを投稿し、その後時間経過で動かなくなったのを直したりして維持していたら2018/8/5にコミットされました。

それまでOSSに対して貢献をするといったことも無かったですし、仕事でコミュニケーションを取る目的で英語を書くというのも初めてだったので最初は文章の添削をお願いしたりとかなり慎重にやっていたのを覚えています。


2017年にはじめてRedmineの公式サイトにパッチを投稿した

Feature #7056 Download all attachments at once

https://redmine.org/issues/7056

チケットやWikiなど添付されている複数のファイルを.zipに圧縮して一度にダウンロード可能にするパッチです。これは自分でも結構使うことの多い機能であるというのと、redmine.tokyoなどのイベントで機能が紹介された際に結構反応が良くて嬉しかったため印象深いです。

一時的ファイルによってディスクがいっぱいになってしまわないように制限を付けたり、古いバージョンのOSでASCII以外のファイル名が文字化けする問題を調査したりとパッチを投稿した後にも色々と対応が必要だったのですが、いろんな人に意見や指摘をもらいながら開発できたのも面白かったです。


添付ファイルをZipでまとめてダウンロードできる

Feature #34703 "Copy link" feature for issue and issue journal

https://redmine.org/issues/34703

チケットやチケットのコメントのリンクをコピーする機能を追加するパッチです。

これはSlackなどにチケットのURLを共有する際に現在のURLをコピーするだけではissue_countやprev_issue_idなどの不要なパラメータが多いのが煩わしく感じ、自分でチケットを作ってパッチも投稿しました。

自分で機能を提案したものがコミットされ、結構反応も良かったので印象深いです。


リンクのコピー機能はRedmine 4.2 で取り込まれた

Feature #13919 Mention user on issues and wiki pages using @user with autocomplete

https://redmine.org/issues/13919

Redmineで @ishikawa のようにログイン名でメンションできるようにする機能です。

実は私が書いたパッチはコミットされておらず、Redmineのコミッター兼リリースマネージャーのMarius BALTEANUさんが仕様を一から作り直したパッチがコミットされました。

ただ、仕様が完璧で無くても、パッチを投稿したことで2013年に作られた後あまり具体的なアクションが無かったチケットを動かして活発にするという効果はあったんじゃないかなと思います。


@ を入力するとユーザーの一覧が表示され簡単に入力できる

Defect #36363 Cannot select text in a table with a context menu available

https://www.redmine.org/issues/36363

チケット一覧テーブルの情報をコピーしようと範囲選択したときに選択した部分がリセットされる問題を修正するパッチです。

「なんかコピーできないな〜」と気になりつつも長い間放置していたのを改めて確認し直したら修正できたという意味でもそうですが、チケットの番号が36363という綺麗な数字という点でも印象深かったです。

まとめ

いままでのRedmineの開発活動を振り返ってみると、パッチを投稿してコミットされて、、というシンプルな流れだけではなく他の開発者からのフィードバックを受けたり、Redmineの利用者さんから「良いね!これ欲しい!」みたいな反応をもらったりしつつ開発をしていることが多かったです。

それ以外にもリリースされた後にRedmineの利用者さんの「この機能便利!」という反応を見かけて嬉しくなったり。やっぱりいろんな人との関わりもOSS活動の楽しさの一つだなと感じました。

最近はバグ修正やテスト追加などが中心で新しい機能の開発ができていないので、また新しい機能をコミットしてもらえるよう頑張ります!

【スタッフ募集中】
弊社ではAWSを活用したソリューションの企画・設計・構築・運用や、Ruby on Rails・JavaScriptフレームワークなどを使用したアプリケーション開発を行うスタッフを募集しています。採用情報の詳細
弊社での勤務に関心をお持ちの方は、知り合いの弊社社員・関係者を通じてご連絡ください。

My Redmine

こちらの記事もオススメです!
知っておきたいRedmineのおすすめWiki記法
RedmineはWiki記法を使うとより便利です。おすすめの記法をいくつか紹介します。
Redmineのクラウドサービス My Redmine のアーキテクチャ紹介 2023
My Redmine のサービスの構成図を公開。運用コストを削減するためにサーバーレスのサービスを中心に選択し実装。
Canvaでチラシや広報紙を作成、無料で使えるデザインツール
無料で使えるデザインツール。チラシやパンフレットの作成に活用。
AWSを使用したメール通知処理を改善しています
AWSを使用したメール通知処理を行っています。
Redmine My Pageの使いこなし
RedmineのMy Page機能で利用者ごとのダッシュボードが作れます。
ファーエンドテクノロジーからのお知らせ(2024/05/09更新)
2024年5月11日 オライリー本の全冊公開日のお知らせ(もくもく勉強会も同時開催)
ファーエンドテクノロジーが所蔵するオライリー本(全冊)公開日のご案内です。公開日には「もくもく勉強会」も同時開催します。
入門Redmine 第6版 出版記念企画セミナー「Redmineのアクセス制御」【2024/5/30開催】
入門Redmine 第6版(2024年3月23日発売)の書籍から「Redmineのアクセス制御」について解説します。
My Redmine 初回ご契約で「入門Redmine 第6版」プレゼントのお知らせ
Redmineのクラウドサービス「My Redmine」を初めてご契約いただいたお客様にRedmine解説書「入門Redmine 第6版」を進呈いたします。
2024年度ブランドパートナーに島根県在住のモデル ユイさんを継続起用
ユイさん(モデルスタジオミューズ所属)をファーエンドテクノロジーの2024年度ブランドパートナーとして継続して起用します。
Redmineの最新情報をメールでお知らせする「Redmine News」配信中
新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け