5.5K Views
November 28, 21
スライド概要
redmine.tokyo 第21回勉強会LT公開資料
unofficialcooking/ unofficial-redmineの、情報ピックアップと直近のカスタマイズ事例紹介です。
https://redmine.tokyo/projects/unofficialcooking
https://unofficial-redmine.org
Walker, SystemAdministrator or Engineer (Networking, VMware, InfoSec, Redmine, PC Python, IoT, etc,,,) redmine.tokyo staff unofficial-redmine.org founder (^^;)
Unofficial Redmine Cooking (Redmineカスタマイズ情報蓄積 @Redmine.Tokyo) +unofficial-redmine.org 直近カスタマイズ事例他紹介 2021/11/27 @y503unavailable 2021/11/27 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 1
自己紹介 名前:y503unavailable (<- httpエラーコード503) • 製造業で製品開発部門のadminやってます。 • 部門サーバ、LAN、PC、全般の構築/運用/子守 (全社単位の情報システムとは別、部門所属) • 直近はPythonやIoT機器の方に移行中、Ruby,Rails書けませんw。 • Redmine歴 • 2009年から利用 • 部内SaaSの積りで各種運用中 • Redmine.Tokyoスタッフ (unofficialcookingと情報蓄積面で活動) • unofficial-redmine.org ドメイン管理者 • unofficial-redmine. YouTubeチャンネル、Kindle本発行 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会
Agenda 1. Redmineは単に無料で使えるソフト? 2. Unofficial Redmine Cooking 関連紹介 1. 2. 3. 4. 5. 6. 3. コンセプト redmine.tokyo unofficialcooking unofficial-redmine.org Kindle本 標準のRedmineで不十分な人の道標 YouTube unofficial-redmine チャンネル GitHub 今日使える、明後日の(方向の)Redmine ピックアップ&直近のカスタマイズ事例 今回発表内容は下記から参照してください。 https://unofficial-redmine.org 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 3
1. Redmineは単に無料で使えるソフト? . 無料で使える、だけじゃない OSS(OpenSourceSoftware)だから ・改造して利用する自由 (ソース改造、プラグイン利用、、) ・パッチ提案する自由 (取り込まれれば将来のVerUp追随不要) ・共同で育てて利用していくソフトウェア Redmine本家とユーザ会はそのための場所 ・リーマンの第3法則 システムの進化はフィードバックプロセスにより決まる http://forza.cocolog-nifty.com/blog/2012/08/post-9619.html 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 4
2-1.Unofficial Redmine Cooking コンセプト Redmine管理者の為の情報共有サイト (主に標準外機能) コンセプト ・標準のRedmineでは少し対応困難な部分を効率的に解決したい ・ソースカスタマイズ,プラグイン活用,トラブル対応,他ツール連携,DB直 必要な情報を知っていれば短時間で対応できる筈。(知らないと長時間。。挫折) ・Redmine関連の情報を、必要な人に届き易くしたい。 (特にredmine.tokyo、関連コミュニテイにて発表して頂いた内容) 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 5
標準機能から変更したい 同じ悩みを持つのは、 自分だけじゃない。 ・本家の残チケット検索-4500件、Groonga無し ・用途もニーズもユーザレベルも千差万別 ・改造にはスキルと内部構造の知識が必要 ユーザ会で情報共有! もっと効率的に利用 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 6
2-2.UnofficialCooking-情報共有場所 Unofficial Redmine Cooking https://redmine.tokyo/projects/unofficialcooking 名前:多少のアングラ感と親しみ ・Redmine.TokyoのサブPJ を持って貰えれば。 ・チケットベースで情報共有 UndocumentedとかCracking のレベルではありません。 ・Since 2016/11 ・ターゲットユーザ:Redmine管理者 ・チケット200件超えた ・平日アクセス100件大幅超(休日は1/10) ・Google(unofficialcooking) 検索1面独占 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会
Unofficial Redmine Cooking守備範囲 オープンソースだから可能なこと 下記対応により出来ること ・Redmineソース改造 ・Redmine本家未取込パッチ ・プラグイン活用 ・DB直接操作 ・他ツールとの連携 要は 標準外 関連情報の収集/公開 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 8
Unofficialcookig画面サンプル(1) 通常のチケットと して情報記録 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 9
Unofficialcookig画面サンプル(2) 人がいれば、様々 な視点、解決策が 出るもの。 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 10
2-3.unofficial-redmine.org • unofficialcookingの延長として、unofficial-redmine.org のドメ インを開設した。 • 情報集約、各種改造版の展開場所として利用 詳細はトップページから • https://unofficial-redmine.org • http://demo1.unofficial-redmine.org/redmine • 専用Slackも開設しました。物好きな方は連絡ください。 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 11
2-4.Kindle本 標準のRedmineで 不十分な人の道標 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 12
Kindle本 Unofficial Redmine Cooking Vol.0 • Unifficial Cookingの内容を再構成し出版 目的 ・チケット内容だけでは読みにくい ・別のユーザ層にも伝えたい • 副題 • 表紙 • 価格 標準のRedmineで不十分な人の道標 広島-宮島 厳島神社の常夜灯 ¥250+税(Kindle専売-¥70%) • 紹介LT https://www.slideshare.net/y503unavailable/ unofficial-redmine-cooking-kindle Kindle本 https://amzn.to/3CXMDqo Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会
Kindle本 目次/本文サンプル Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会
2-5.unofficial-redmine Youtubeチャンネル • UnofficialCookingの話題を解説した動画を公開しています。 • Unofficial Redmine Cooking 202005更新内容解説 https://www.youtube.com/watch?v=gelzsC5N70E 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 15
改造レポジトリ 公開済 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 16
2-6.今日使える、明後日の(方向?)Redmine • Redmine4.2ベースの機能追加版Redmine • カテゴリのサブPJ継承(本家5358、パッチ提供) • OR条件フィルタ(本家4939) • その他、各種機能追加実施 • CentOS7,Dockerのインストールスクリプト有 対象 URL Redmine自体 https://github.com/y503unavailable/redmine CentOS7-Ansible https://github.com/y503unavailable/redmine-centos-ansible Docker https://github.com/y503unavailable/myfav-redmine 人が作って公開したコードを改造して組み合わせているだけです。 世の中、その積み重ね。。。 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 17
3.Unofficialcookingピックアップ/直近活動 1. トラブル対応などで特に有用な情報のリンク 2. 2021年のunofficialcooking活動抜粋 • 詳細はunofficial-redmine.org のトップページからどうぞ。 2021/11/27 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 18
3-1.Unofficialcookingピックアップ(1) • PluginのRedmine本体バージョン間設計変更点 • Redmine本体のVUPに伴うPluginのトラブル多発 (原因の大半はRuby,Rails非互換) • 同一原因、対処方法が判れば自分でも対応できるので対応情報蓄積。 チケット番号 • https://redmine.tokyo/issues/755 (他) バージョン • DB設計関連情報 Redmine5/Rails6 1207 Redmine4/Rails5/Ruby2.7 755 Redmine3/Rails4 751 • DB移行時、トラブル発生時の参考に • https://redmine.tokyo/issues/1160 2021/11/27 題名 チケット番号 RedmineのDB設計情報関連情報 1160 DB間差異箇所の対応 (mysql/mariadb, postgresql) 1085 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 19
Unofficialcookingピックアップ(2) • Redmineの知らない機能 https://redmine.tokyo/issues/1163 管理者10年でもハマる 想定外の設計による落とし穴 1.チケットのステータス連動(管理画面上)を設定し進捗率の表示が変わっても、DB上のチケット進捗率が変更されない。 2.検索時に全角1文字記号(例えば白い中くらいの小さな四角とか「)だけを入れると検索出来ない 3.チケットのフィルタ機能にて、「すべて」が選べる項目で「すべて」を選択すると、 「その項目に何らかの値が入っている」チケットのみが抽出される。(設定無のチケットは除外される) 4.Redmineのアカウント登録設定とLDAP認証設定は無関係に動作する。 ユーザーによるアカウント登録を無効にしても、LDAP認証が有効の場合、ユーザが自分でLDAP上の自分のIDを登録できる。 • Redmineアップデート時の落し穴/仕様変更 https://redmine.tokyo/issues/926 既知の落とし穴は避けたい みんなで落ちれば ・Redmineのバージョンアップ後に画面の表示が崩れる場合がある(3.0) ・チケットのコピーができなくなった(3.0) ・PluginのMigrationが失敗するようになった(3.X) ・標準のMigrationが定義済として失敗する。(*) ・LDAP認証を使用している場合、4.0へのバージョンアップ後にログインできなくなることがある。(4.0) ・通知メールで他の宛先が表示されなくなった。(4.0) ・REST APIの応答にデータが含まれない場合のHTTPステータスコードが「200 OK」から「204 No Content」に変更(4.1) ・Redmineチケット編集時、クリップボードコピー後の領域選択が行えない。(4.1) 2021/11/27 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 20
Unofficialcookingピックアップ(3) • Redmine以外でのデータ表示/操作例 https://redmine.tokyo/issues/699 • 多種多様な言語/アプリのRedmineとの連携事例が公開されています。 • 便利なものは、誰しも自分の畑で使いたいもの。 • 用途が想像付かない物もある筈。 →自分が思いもしなかった使い方/実現手法が見つかるかも Ruby,JavaScript,python,Perl,PHP,Java,Powershell,Go,C# VBA,EXCEL,MSProject,Outlook/VBA Slack,Mattermost,Teams,PowerAutomate,Thunderbird GitBucket,Github,GitLab,VSCode,TFS,Jenkins Angular,Node.js,Node-Red,Electron curl,shell,Zabbix,Vuls,GoogleApps,R言語 ELK,Kibana,Re:dash,Metabase,Tableau 2021/11/27 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 21
Unofficialcookingピックアップ(4) • Redmine本家 vote count list http://demo1.unofficial-redmine.org/redmine/projects/redmineorg-copy/issues Redmine本家チケットを+1の 回数順にソートしたリスト。 各チケットの要望度合いを表現 している。 Redmine本家フォーラムにも、 集計結果を投稿済 メジャーVUP時に更新 (現在はRedmine4.1 時点) 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 22
3-2.UnofficialCooking直近の活動(1) Redmine本家チケットとGitHubに公開済 1. Redmineの活動画面に、チケットの変更を全て表示する カスタムフィールドの変更分を表示しない設計理由が判らない。 https://redmine.tokyo/issues/1192 2. チケットの担当者に、チケット作成者を選択可能とする 起票者に戻したい場合も多い筈。人数多いと選択大変。間違い易い。 https://redmine.tokyo/issues/1295 3. フッタ表示内容を変更する(ソース変更無) 機密等級表示/運営情報など一括で表示したい →viewcustomizeでCSS変更 https://redmine.tokyo/issues/1304 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 23
UnofficialCooking直近の活動(2) Redmine本家チケットとGitHubに公開済 4. Redmine通知メールの一括送信化(Redmine4仕様変更戻し) 社内利用ではメール返信で直接連絡した方が良い場合もある。本家起票したが文化の違いで門前払い。 → OSSなのだから自力で修正すればよい。必要な人が使えれば良いこと。 https://redmine.tokyo/issues/1083 https://github.com/y503unavailable/redmine/issues/46 5. Redmineの活動画面で表示期間(日数)を指定して検索 数年前の自分の本家コメントなど覚えてない。自分のコメント探すの無理。 →デフォルト30日を直接変更し検索可能にした。 https://redmine.tokyo/issues/1294 6. SPAMユーザ登録対処/ユーザ登録効率化 毎日毎日、SPAMユーザ登録削除で、SPAMMERのID入力させられて嫌になっちゃうよ♪ →pythonで一括削除した。(たまに本来ユーザいるので注意) https://redmine.tokyo/issues/1276 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 24
御清聴ありがとうございました • 各自のRedmine運用に、本資料が多少なりとも役 に立てば幸いです。 • Redmineはオープンソースソフトです。 • 協力して育成&利用していきましょう。 ユーザ会はそのための場所です。 • ご意見、内容指摘の連絡先 Redmine.Tokyo UnofficialCooking unofficial-redmine.org 2021/11/29 Unofficial Redmine Cooking+直近カスタマイズ事例紹介 @ RedmineTokyo 第21回勉強会 25