SlideShare a Scribd company logo
Redmineプラグイン
導入・開発入門
株式会社マツケイ
前田 稔
自己紹介
• 株式会社マツケイ 前田 稔
• お仕事
• 官公庁系のシステム開発
• Redmineプラグイン開発
今日お話しすること
• カンタンにプラグインは導入できる!?
• カンタンにプラグインは開発できる!?
今日お話しすること
• カンタンにプラグインは導入できる!?
• カンタンにプラグインは開発できる!?
Q. プラグインって何?
A. Redmineの機能を
追加・拡張する仕組み
Q. 本当にカンタンに
導入できるの?
A. わりとカンタン!
Q. プラグインはどう見つけるの?
A. OSSプラグインがある!
※ 有償プラグインもある(株式会社アジャイルウェアさんが有名)
• Redmine本家(英語)から探す
• r-labs(日本語)から探す
• GitHubから探す
Redmine本家(英語)から探す
http://www.redmine.org/plugins
Redmine本家(英語)から探す
検索機能を活用する
r-labs(日本語)から探す
http://www.r-labs.org/projects/r-labs/plugin_list/index
r-labs(日本語)から探す
検索機能を活用する
GitHubから探す
検索機能を活用する
Q. 探すときのコツは?
A. OSSプラグインを探すときのコツ
• Redmineの機能名(英語)で大まかに検索する
• 実現したい動作(英語)で絞って検索する
大まかに検索する
• 機能へアクセスしたときのURLを参考にする
issues
boards gantt
activity
絞って検索する
• ”redmine/config/locals/ja.yml” を参考にする
Q. 検証に必要なものは?
A. プラグインの検証に必要なもの
• Redmine
• Redmineが動作する環境
https://www.vagrantup.com/
http://www.redmine.org/
Redmine
• ソースコードは次のURLからGETできる
• SVN: http://svn.redmine.org/redmine/
• Git: https://github.com/redmine/redmine/
• インストール方法は            が

わかりやすい

http://blog.redmine.jp/
Redmineが動作する環境
•        で検証環境をつくると楽
• 有志の方が環境を公開している
https://www.vagrantup.com/
https://atlas.hashicorp.com/boxes/search?q=redmine
Q. 動かすためには
どうしたらいいの?
A. プラグインを動かすには
• プラグインのREADMEをよく読むこと!
• プラグインのREADMEをよく読むこと!!
• プラグインのREADMEをよく読むこと!!!
READMEによく書かれていること
• RedmineのVersionが X.X系なら動くよ
• “redmine/plugins/” にプラグインを配置してね
• $ rake redmine:plugins:migrate を実行してね
• Redmineを再起動してね
• 権限・モジュール設定画面で有効にしてね
プラグインが動かない場合は…
• もう一度 README を確認しよう
• プラグイン名とフォルダ名が同じか確認しよう
• バグ報告されているか確認しよう
今日お話しすること
• カンタンにプラグインは導入できる!?
• カンタンにプラグインは開発できる!?
Q. 本当にカンタンに
開発できるの?
A. 用意されている
仕組みを使えば
わりとカンタン!
Q. チュートリアルとかあるの?
A. チュートリアルはある!
• http://www.redmine.org/projects/redmine/wiki/
Developer_Guide#Plugin-development
• http://www.r-labs.org/projects/r-labs/wiki#デベロッパーガイド
Q. どんなことができるの?
A. プラグインで実現できること
• 画面の特定箇所を拡張できる
• 処理の特定箇所を拡張できる
• 標準機能をもとに拡張できる
• 画面や処理の置き換えもできる
画面の特定箇所を拡張できる
• 拡張ポイント(Hook)が用意されている
• チケット一覧・作成・編集画面
• プロジェクト設定画面
• ユーザ作成・編集・閲覧画面

など他多数
処理の特定箇所を拡張できる
• 拡張ポイント(Hook)が用意されている
• チケットの作成処理の前後
• Wikiの編集処理の後
• フォーラムのメッセージ作成処理の後

など他多数
標準機能をもとに拡張できる
• コンテンツを追加する仕組みが用意されている
• カスタムフィールド
• Wikiマクロや権限など他多数
• “redmine/lib/redmine.rb”,

“redmine/lib/*/*/.rb” が参考になる
画面や処理の置き換えもできる
• 最終手段
• Redmine本体のバージョンアップで

動かなくなることが特に多いので注意が必要
Q. 開発するには
どうしたらいいの?
A. プラグイン開発の流れ
• カスタマイズの見当をつけて方針を決めよう
• プラグインの雛形をつくろう
• 拡張ポイントを使ってカスタマイズしてみる
• 標準機能をもとにカスタマイズしてみる
• 画面や処理を置き換えてカスタマイズしてみる
カスタマイズの見当をつけよう
• 実現したいこと
• (例)チケットに自動で独自書式の採番をしたい
カスタマイズの見当をつけよう
• 標準機能で実現できること
• 書式指定っぽい仕組みはある
• 自動採番はムリ!
カスタマイズの方針を決めよう
• 標準で自動採番はムリ!
• チケットを作成したときに自動で採番する
• 標準で書式指定はカスタムフィールドでできる!
• カスタムフィールドを拡張する
プラグインの雛形をつくろう
• プラグインの名前を決めて雛形をつくる

$ rails generate redmine_plugin プラグイン名
拡張ポイントを使ってカスタマイズしてみる
• “call_hook(:拡張ポイント名)” の記述を探そう
拡張ポイントを使ってカスタマイズしてみる
• (例)チケットを作成したときに自動で採番処理を実行するには
• :controller_issues_new_after_save
標準機能をもとにカスタマイズしてみる
• 標準機能で使われているクラスを継承したり

追加する仕組みを使おう
標準機能をもとにカスタマイズしてみる
• (例)カスタムフィールドを拡張するには
• “redmine/lib/redmine/field_format.rb” の

Redmine::FieldFormat::Base を継承する
画面や処理を置き換えてカスタマイズしてみる
• 画面の置き換え
• “redmine/app/views/*/*.html.erb” と

同じ構成にしておけばOK
• 処理の置き換え(定義した module を include する)
• alias_method_chain, alias_method を使う
プラグインが動かない場合は…
• もう一度チュートリアルを見てみよう
• OSSプラグインを見てみよう
REST API
• Redmine上のデータを操作できるAPI
• 言語を問わず利用可能
• リファレンス
• http://www.redmine.org/projects/redmine/wiki/Rest_api
• http://www.r-labs.org/projects/r-labs/wiki/Redmine_REST_API
Redmineチケット★一括★
• Excelに記載した内容でチケットの作成・更新が
一気にできるREST APIを利用したソフトウェア
• ダウンロード
• http://www.vector.co.jp/soft/winnt/util/se503347.html
RedmineAir
• Redmineのチケットを付箋アプリのように使える
REST APIを利用したソフトウェア
• ダウンロード
• http://www.r-labs.org/projects/redmineair/wiki/Wiki
導入しているプラグイン
• Redmine Page Break Macro
• https://github.com/hidakatsuya/redmine_page_break_macro
• Hide Sidebar
• https://github.com/bdemirkir/sidebar_hide
• Redmine Serial Number Field
• https://github.com/matsukei/redmine_serial_number_field
Redmine Page Break Macro
• WikiをPDF化・印刷するときに改ページできる
• Wikiでドキュメント作るときに便利
Hide Sidebar
• Sidebarの表示・非表示を切り替えできる
• チケット一覧画面で非表示にすると便利
Redmine Serial Number Field
• チケットに自動で独自書式の採番ができる
今日のまとめ
• プラグインは、わりとカンタンに導入できる!
• プラグインは、用意されている仕組みを使えば

わりとカンタンに開発できる!
宣伝
ご清聴ありがとうございました

More Related Content

PDF
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
PDF
Redmine 5.0 + RedMica 2.1 新機能評価ガイド
PDF
うちのRedmineの使い方(2)
PDF
View Customize Pluginで出来ること
PDF
Redmineによるwebサポート窓口の実装と運用
PDF
View customize pluginを使いこなす
PDF
うちのRedmineの使い方
PDF
挫折しないRedmine (2022)
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
Redmine 5.0 + RedMica 2.1 新機能評価ガイド
うちのRedmineの使い方(2)
View Customize Pluginで出来ること
Redmineによるwebサポート窓口の実装と運用
View customize pluginを使いこなす
うちのRedmineの使い方
挫折しないRedmine (2022)

What's hot (20)

PDF
Redmineの基本と適用事例
PDF
RedmineのFAQとアンチパターン集
PDF
View customize plugin for Redmineの紹介 (2019年版)
PDF
挫折しないRedmine
PDF
とあるメーカーのRedmine活用事例
PDF
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
PDF
Redmine にいろいろ埋め込んでみた
PDF
事例から探る、Redmineの機能とよりよい運用
PPTX
Redmineカスタムフィールド表示改善
PDF
Redmineをプラグインで拡張しよう
PPTX
講演1 Redmine導入のアンチパターン
PDF
はじめる! Redmine (2021年版)
PDF
ある工場のRedmine画面カスタム【View customize plugin 活用例】
PDF
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
PDF
全文検索でRedmineをさらに活用!
PDF
Redmineを快適に使うためのおすすめ初期設定
PPTX
Redmine + Lychee導入のアンチパターン
PDF
はじめる! Redmine (2015)
PDF
はじめる! Redmine (2017)
PDF
Redmineの意外と知らない便利機能(Redmine 4.2対応版)
Redmineの基本と適用事例
RedmineのFAQとアンチパターン集
View customize plugin for Redmineの紹介 (2019年版)
挫折しないRedmine
とあるメーカーのRedmine活用事例
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
Redmine にいろいろ埋め込んでみた
事例から探る、Redmineの機能とよりよい運用
Redmineカスタムフィールド表示改善
Redmineをプラグインで拡張しよう
講演1 Redmine導入のアンチパターン
はじめる! Redmine (2021年版)
ある工場のRedmine画面カスタム【View customize plugin 活用例】
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
全文検索でRedmineをさらに活用!
Redmineを快適に使うためのおすすめ初期設定
Redmine + Lychee導入のアンチパターン
はじめる! Redmine (2015)
はじめる! Redmine (2017)
Redmineの意外と知らない便利機能(Redmine 4.2対応版)
Ad

Similar to Redmineプラグイン導入・開発入門 (20)

PPTX
Redmine4時代のプラグイン開発 redmine.tokyo #13
PDF
チームにRedmineを適用せよ! #RxTstudy
PPTX
北海道勉強会_20140531
PDF
高卒でIT企業に就職してみて
PDF
はじめてがアジャイル
PPTX
Device Farm を使ったスマホアプリの自動テスト
PDF
【サイボウズ インターンシップ2025】Webアプリケーション開発(kintone)コース説明資料
PDF
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
PDF
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
PPTX
スマホ版ログレスにポストエフェクトシステムを導入した話
PDF
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
PDF
おすすめインフラ! for スタートアップ
PDF
アジャイルソフトウェア開発の道具箱
PDF
デブサミ2014【13-E-3】クラウド時代の環境構築・デプロイ自動化戦略
PDF
プログラマに贈るクラウドとの上手な付き合い方
PPTX
[141004] cedec 2014 참관기 & 강연 리뷰 #1
PDF
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
PDF
Web制作者視点で理解するソフトェアテスト
PDF
Voicepic@FukuiMASeminar
PDF
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
Redmine4時代のプラグイン開発 redmine.tokyo #13
チームにRedmineを適用せよ! #RxTstudy
北海道勉強会_20140531
高卒でIT企業に就職してみて
はじめてがアジャイル
Device Farm を使ったスマホアプリの自動テスト
【サイボウズ インターンシップ2025】Webアプリケーション開発(kintone)コース説明資料
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
スマホ版ログレスにポストエフェクトシステムを導入した話
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
おすすめインフラ! for スタートアップ
アジャイルソフトウェア開発の道具箱
デブサミ2014【13-E-3】クラウド時代の環境構築・デプロイ自動化戦略
プログラマに贈るクラウドとの上手な付き合い方
[141004] cedec 2014 참관기 & 강연 리뷰 #1
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
Web制作者視点で理解するソフトェアテスト
Voicepic@FukuiMASeminar
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
Ad

Redmineプラグイン導入・開発入門